음수 지원 숫자 진법 변환기
컴퓨터 세계는 0과 1로 작동하지만, 사람들은 10진법으로 생각합니다. 그리고 프로그래머는 이 모든 것을 이해해야 합니다. 저수준 코드 디버깅, CSS 색상 설정, IP 마스크 계산 또는 컴퓨터 과학 과제를 해결할 때 숫자를 다른 진법으로 변환해야 하는 필요성에 직면합니다.
Windows나 모바일의 일반 계산기는 종종 느리고 사용하기 번거롭습니다. 저희의 지능형 숫자 진법 변환기는 개발자를 위해 개발자가 설계했습니다. 실시간 즉시 변환, 매우 큰 숫자 지원을 제공하며, 몇 안 되는 온라인 도구 중 하나로서 이진 형식의 음수를 올바르게 처리합니다.
이 숫자 진법 변환기는 무엇을 할 수 있나요?
이 위젯을 개발할 때, 저희는 프로그래머들이 겪는 가장 흔한 문제들을 해결하는 데 중점을 두었습니다:
- 실시간 반응성: “계산” 버튼이 없습니다. HEX 필드에 입력하기 시작하면 BIN과 DEC가 즉시 변경되는 것을 볼 수 있습니다.
- 음수 지원 (부호 있는 정수): 대부분의 온라인 변환기는
-5를 입력하면 실패합니다. 저희는 그렇지 않습니다. 비트 너비 (8, 16, 32, 64비트) 선택을 통해 2의 보수 방식을 사용하여 프로세서의 정확한 동작을 시뮬레이션합니다. - 이진 코드 가독성:
1110101011011110을 보는 것은 눈을 피로하게 합니다. 저희 도구는 출력을 4비트 (니블) 단위로1110 1010 1101 1110과 같이 자동으로 서식 지정하여, 복사 시 오류를 획기적으로 줄여줍니다. - BigInt 지원: 64비트 숫자 또는 해시를 변환해야 합니까? 표준 JavaScript는 $2^{53}$에서 제한됩니다. 저희 엔진은 “부호 없음” 모드에서 임의로 긴 숫자를 처리할 수 있습니다.
숫자 진법 가이드: 언제 무엇을 사용해야 하나요?
1. 십진법 (DEC - Decimal)
- 기본: 10 (숫자 0-9)
- 사용: 일상 생활, 금융, 코드 내 루프 계산.
- 흥미로운 점: 컴퓨터는 이를 이해하지 못하며 이진법으로 변환해야 합니다.
2. 이진법 (BIN - Binary)
- 기본: 2 (숫자 0, 1)
- 사용: 기계어 코드, 논리 게이트, IP 주소 마스킹.
- 팁: 각 숫자는 1비트를 나타냅니다. 8비트는 1바이트를 구성합니다.
3. 십육진법 (HEX - Hexadecimal)
- 기본: 16 (숫자 0-9, 문자 A-F)
- 사용: 이진 코드를 간결하게 표현. 하나의 HEX 문자는 정확히 4비트 (니블)를 나타냅니다. 두 문자 (예:
FF)는 전체 바이트를 나타냅니다. - 예시:
- 웹 색상:
#FF5733(빨강, 초록, 파랑). - MAC 주소:
00:1A:2B:3C:4D:5E. - 메모리 덤프.
- 웹 색상:
4. 팔진법 (OCT - Octal)
- 기본: 8 (숫자 0-7)
- 사용: 역사적으로 오래된 컴퓨터, 현재는 주로 Linux 권한 (chmod)에 사용됩니다.
- 예시:
chmod 755명령은 rwx-rx-rx (읽기, 쓰기, 실행) 권한을 설정합니다.
음수를 올바르게 사용하는 방법?
이것은 저희 변환기의 가장 고급 기능입니다. 컴퓨터 메모리에는 “마이너스” 부호가 존재하지 않습니다. 컴퓨터가 음수를 저장하기 위해 가장 일반적으로 사용하는 방법은 **2의 보수 (Two’s Complement)**입니다.
그러나 음수 변환 결과는 변수에 할당된 비트 수에 따라 달라집니다. 따라서 상단 표시줄에서 비트 너비 전환을 찾을 수 있습니다.
예시: 숫자 -5는 어떻게 보이나요?
저희 변환기에서 직접 시도해보세요:
-
너비를 8비트로 설정하세요.
- DEC에
-5를 입력하세요. - HEX 결과:
FB. - BIN 결과:
1111 1011. - 설명: $256 - 5 = 251$ (이는 FB).
- DEC에
-
너비를 16비트로 설정하세요.
- DEC에
-5를 입력하세요. - HEX 결과:
FFFB. - 설명: 더 많은 공간이 있기 때문에, “1”이 왼쪽의 나머지 공간을 채웁니다.
- DEC에
-
너비를 **부호 없음 (양수만)**으로 설정하세요.
-5를 입력하면 필드가 빨간색으로 변합니다. 이 모드는 음수를 지원하지 않습니다. 왜냐하면 무한한 수의 1이 필요하기 때문입니다.
전문가 팁: 색상 또는 IP 주소로 작업할 때는 항상 “부호 없음” 모드를 사용하세요. C/C++ 또는 어셈블러 과제를 수행할 때는 32비트 또는 64비트로 전환하세요.
빠른 변환표 (치트 시트)
빠른 참조를 위해 모든 “IT 전문가”가 암기해야 할 기본 값을 아래에 제공합니다.
| 십진법 (DEC) | 십육진법 (HEX) | 이진법 (BIN) | 비고 |
|---|---|---|---|
| 0 | 00 | 0000 | 영 |
| 1 | 01 | 0001 | |
| 10 | 0A | 1010 | |
| 15 | 0F | 1111 | 4비트 (니블)의 최대값 |
| 16 | 10 | 0001 0000 | |
| 127 | 7F | 0111 1111 | 부호 있는 8비트 (char)의 최대값 |
| 255 | FF | 1111 1111 | 부호 없는 8비트 (바이트)의 최대값 |
| 65 535 | FFFF | … | 16비트의 최대값 |
자주 묻는 질문 (FAQ)
"비트 너비" (Bit Depth)는 무엇을 의미하나요?
숫자에 할당된 메모리 양을 결정합니다.- 8비트: 0부터 255까지 (또는 -128부터 127까지)의 값.
char또는byte유형에 해당합니다. - 16비트: 65,535까지의 값.
short유형에 해당합니다. - 32비트: 현대 언어의 표준
int. - 64비트: 매우 큰 숫자 (
long long,BigInt)에 사용됩니다.
왜 255가 HEX에서 FF로 표기되나요?
십육진법은 16개의 숫자 (0-9 및 A-F)를 가지며, 여기서 F는 15의 값을 가집니다. 숫자FF는 $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$와 같이 계산됩니다.
HEX 색상을 RGB로 어떻게 변환하나요?
예를 들어, 웹 색상#E05412는 세 바이트로 구성됩니다: 빨강 (E0), 초록 (54), 파랑 (12).
저희 변환기에서 HEX 필드에 "E0"를 입력하면 -> 224를 얻습니다.
"54"를 입력하면 -> 84를 얻습니다.
"12"를 입력하면 -> 18을 얻습니다.
결과는 rgb(224, 84, 18)입니다.
접두사 0x, 0b 또는 0o는 무엇을 의미하나요?
프로그래머가 진법을 구분하기 위해 접두사를 사용합니다:0x= 십육진법 (예: 0xFF)0b= 이진법 (예: 0b101)0o= 팔진법 (예: 0o755)
왜 필드가 빨간색으로 변했나요?
이는 입력 유효성 검사 기능입니다. 해당 진법에 속하지 않는 문자를 입력했다는 의미입니다. 예를 들어:- HEX에 문자 "G" (A-F만 허용됨).
- BIN에 숫자 "2" (0과 1만 허용됨).
- OCT에 숫자 "8" (0-7만 허용됨).