変換JS 100進法


43

ユーザーは数値を入力し、バイナリに変換して値を出力してください。


1번 방법

let n = Number(prompt('10진수 숫자를 입력하세요.')).toString(2);

console.log(n) // prompt로 받은 값을 Number()로 정수화, toString거치면서 string된다.






2번 방법

let a = prompt('10진수를 입력해주세요.') //4 입력시
let b = []; 
let result = ''; 

while (a){  // a 가 참인 경우 (a 가 0 이 되면 false 가 됨) while 문을 반복
	b.push(a % 2); 
	a = parseInt(a / 2, 10); 
}
b.reverse(); // [0, 0, 1]

b.forEach((n) => {
  result += n; 
})

console.log(result); 

toString()とParseInt()


10進数を別の進数に変換するには、toString()を使用します.
他の整数を10進数に変換するには、ParseInt()を使用します.

toString()


特定のオブジェクトを文字列に返すほか、バイナリ数を変換するためにも使用できます.
因子は2と36の間の整数です.基数と呼ぶ.
他の数に入るとRangeErrorが出てきます
let intNum = 3;
console.log(intNum.toString(2));	//11


intNum = 32;
console.log(intNum.toString(16));	//20
// 2*16의1승 = 32

반환된 11, 20의 타입은 String 이다.

parseInt()


引数には(「変換する文字列」、対応する数の進数)が含まれます.
もちろん、2番目のパラメータも基数です.
let intNum = "11";
let parsing = parseInt(intNum, 2);
console.log(parsing);   //3