한 번 짚으면 헷갈림이 사라진다
도구 쓰다 보면 비슷한 질문이 자주 나온다. 한 번 정리해 두면 다음에 다시 헷갈리는 일이 줄어든다.
Q1. 0x는 어디서 써?
코드에서 16진법을 명시할 때. C·C++·Python·JavaScript 등 대부분 언어에서 0x4A는 16진법 4A(=74)로 해석. 0x 없이 4A만 쓰면 변수명으로 해석되거나 오류.
Q2. 0b는 모든 언어에서 써?
Python, C99 이후 C, 최신 JavaScript(ES6+)에서 지원. 일부 옛 언어는 미지원. 0b1101은 2진법 1101(=13).
Q3. 0o는 왜 쓰지?
옛날에는 0뒤에 숫자만 붙이면 8진법(077)으로 해석되는 언어가 많았다. 혼란을 피하려 Python 3·최신 JS는 0o로 명시(0o77). 가독성 측면에서도 0o가 분명.
Q4. 16진법 대문자 vs 소문자?
둘 다 가능. 0xFF와 0xff는 같은 값. 다만 한 자료 안에서 일관성을 유지하는 흐름이 무난. 코드 컨벤션에 따라 결정. 진법 변환기는 두 케이스 모두 인식.
Q5. 자주 하는 실수는?
- 접두어 빠뜨려서 다른 진법으로 해석
- 2진법에 2 이상 입력
- 16진법에 G 이상 입력
- 음수 처리 헷갈림
Q6. 비트 시프트랑 진법 변환은 다른 거야?
다르다. 진법 변환은 표기만 바뀌는 것, 비트 시프트는 실제 비트를 좌우로 이동하는 연산. 다만 둘 다 2진법 단위에서 직관적이라 함께 학습하면 시너지.
Q7. JavaScript에서 변환 함수는?
Number(0xFF) → 10진법 변환. (255).toString(16) → 16진법 변환. (255).toString(2) → 2진법 변환. 한 자리에서 처리 가능하지만 시각 확인은 도구가 빠르다.
Q8. 도구로 검증하는 흐름이 좋아?
좋은 흐름이다. 손 계산은 학습용, 도구는 검증·실무용. 두 흐름을 같이 쓰면 학습과 실무 모두 안정. 진수 변환기를 즐겨찾기에 두면 검증이 부담 없다.
마무리
진법 관련 질문은 한두 번 짚으면 다음부터 헷갈리지 않는다. 자주 나오는 질문 위주로 정리해 두면 학습이 부드러워진다.