반응형
const binary = 0b101;
console.log(binary); // 5
자바스크립트에서 숫자 앞에 진법 접두사(0b, 0o, 0x)가 있으면 자동으로 10진법으로 변환한다.
2진법으로 표기 시 > 예: 0b10
8진법으로 표기 시 > 예: 0o10
16진법으로 표기 시 > 예: 0x10
const octalOne = 0o101; // 소문자 o
const octalTwo = 0O101; // 대문자 O
console.log(octalOne); // 65
console.log(octalTwo); // 65
숫자 앞에 진법 접두사를 표시할 때, 접두사 끝의 알파벳이 대문사 혹은 소문자이던 상관없다.
const binary = "0b101";
const decimal = Number(binary); // binary라는 변수를 10진법 숫자로 변환하기
console.log(decimal); // 5
변환하려는 숫자의 타입이 String여도 숫자 값 앞에 진법 접두사가 있고
Number() 함수를 사용하면 숫자를 자동으로 10진법으로 변환할 수 있다.
2진법 숫자를 10진법으로 변환하기.
const binaryWithoutPrefix = 1011; // 2진법 숫자 받기
const binaryWithPrefix = "0b" + binaryWithoutPrefix; // 2진법 숫자 앞에 접두사(0b) 붙이기
const decimal = Number(binaryWithPrefix); // 접두사를 붙인 2진법 숫자를 10진법으로 변환
console.log(decimal); // 11
비록 1011라는 값엔 진법 접두사가 없지만, 입력 값 앞에 2진법 접두사를 붙여서 2진법으로 변환할 수 있게 만들었다.
마지막으로 Number() 함수를 활용해 1011 값을 2진법으로 인식하고 10진법으로 변환한 모습.
8진법과 16진법 숫자를 10진법 숫자로 변환하려면, 위 예제와 같이 하되 진법 접두사만 바꾸면 된다.
진법 변환에 대한 자세한 내용
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Numbers_and_dates
반응형
'코딩 > Javascript' 카테고리의 다른 글
자바스크립트 - 배열 요소 값 차례대로 출력하기 (forEach() 함수) (0) | 2023.12.15 |
---|---|
자바스크립트 - flatMap() 함수 사용법 (flat() 함수와 map() 함수를 합친 함수) (0) | 2023.09.16 |
자바스크립트 - flat() 함수 사용법 (배열 속 중첩된 배열들의 요소를 부모 배열에 넣기) (0) | 2023.09.13 |
자바스크립트 - findLastIndex() 함수 사용법 (배열에서 특정 요소의 인덱스 찾기) (0) | 2023.09.10 |
자바스크립트 - 배열의 뒤부터 시작으로 특정 요소를 찾아 반환하기 (findLast() 함수) (0) | 2023.09.07 |