JS100제 43번 문제
우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다.
이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요?
사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요
parseInt(string)
parseInt(string,radix);
parseInt("11", 2);
3
parseInt("11", 10);
11
parseInt()
함수는 문자열 인자를 파싱하여 특정 진수의 정수를 반환.
string
문자열이 아닐 경우, toString 추상연산을 사용해 문자열로 반환
radix
string
의 진수를 나타내는 2~36까지의 정수. 기본값이 10이 아님.
radix
가 2보다 작거나 36보다 큰 경우,
공백이 아닌 첫 문자를 숫자로 변환할 수 없는 경우 NaN
을 반환
parseFloat(string)
function circumference(r) {
return parseFloat(r) * 2.0 * Math.PI;
}
console.log(circumference(4.567));
// expected output: 28.695307297889173
console.log(circumference('4.567abcdefgh'));
// expected output: 28.695307297889173
console.log(circumference('abcdefgh'));
// expected output: NaN
parseFloat()
함수는 주어진 값을 필요한 경우 문자열로 변환한 후 부동소수점 실수로 파싱해 반환
string
문자열이 아닐 경우, toString 추상연산을 사용해 문자열로 반환
반환값은 주어진 문자열에서 파싱한 부동소수점 실수
공백이 아닌 첫 글자를 숫자로 변환할 수 없는 경우 NaN
을 반환
parseFloat("10 20 30");
// 10
parseInt("10 20 30");
// 10
parseInt("100 hello");
// 100
parseFloat("100 hello");
// 100
parseInt("hello 100");
// NaN
parseFloat("hello 100");
// NaN
parseInt("123.45682");
123 // 정수반환
parseFloat("123.456823412");
123.456823412 //실수 반환
//toFixed(n)을 함께 사용하면 소수점 n째자리까지 표현
parseFloat("123.456823412").toFixed(3);
//'123.457'
(11).toString(2);
//'1011'
(11).toString();
// '11'
toString
은 메소드의 첫 번째 아규먼트를 파싱하여, 메소드는 특정 기수(radix)를 기준으로 한 진수 값의 문자열을 반환.
radix
값이 지정되지 않으면, 임의로 10진수로 가정
//10진수를 다른 진수로 변환시킬 때
//number -> string
(11).toString(2);
//'1011'
다른 진수를 10진수로 변환시킬 때
parseInt("11",2);
//string -> number
// 3
const decimal = +prompt("10진수를 입력해주세요.");
const binary = (decimal).toString(2);
console.log(+binary);
출처: mdn