음수 지원 숫자 진법 변환기

컴퓨터 세계는 0과 1로 작동하지만, 사람들은 10진법으로 생각합니다. 그리고 프로그래머는 이 모든 것을 이해해야 합니다. 저수준 코드 디버깅, CSS 색상 설정, IP 마스크 계산 또는 컴퓨터 과학 과제를 해결할 때 숫자를 다른 진법으로 변환해야 하는 필요성에 직면합니다.

Windows나 모바일의 일반 계산기는 종종 느리고 사용하기 번거롭습니다. 저희의 지능형 숫자 진법 변환기는 개발자를 위해 개발자가 설계했습니다. 실시간 즉시 변환, 매우 큰 숫자 지원을 제공하며, 몇 안 되는 온라인 도구 중 하나로서 이진 형식의 음수를 올바르게 처리합니다.

이 숫자 진법 변환기는 무엇을 할 수 있나요?

이 위젯을 개발할 때, 저희는 프로그래머들이 겪는 가장 흔한 문제들을 해결하는 데 중점을 두었습니다:

  1. 실시간 반응성: “계산” 버튼이 없습니다. HEX 필드에 입력하기 시작하면 BIN과 DEC가 즉시 변경되는 것을 볼 수 있습니다.
  2. 음수 지원 (부호 있는 정수): 대부분의 온라인 변환기는 -5를 입력하면 실패합니다. 저희는 그렇지 않습니다. 비트 너비 (8, 16, 32, 64비트) 선택을 통해 2의 보수 방식을 사용하여 프로세서의 정확한 동작을 시뮬레이션합니다.
  3. 이진 코드 가독성: 1110101011011110을 보는 것은 눈을 피로하게 합니다. 저희 도구는 출력을 4비트 (니블) 단위로 1110 1010 1101 1110과 같이 자동으로 서식 지정하여, 복사 시 오류를 획기적으로 줄여줍니다.
  4. 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는 어떻게 보이나요?

저희 변환기에서 직접 시도해보세요:

  1. 너비를 8비트로 설정하세요.

    • DEC에 -5를 입력하세요.
    • HEX 결과: FB.
    • BIN 결과: 1111 1011.
    • 설명: $256 - 5 = 251$ (이는 FB).
  2. 너비를 16비트로 설정하세요.

    • DEC에 -5를 입력하세요.
    • HEX 결과: FFFB.
    • 설명: 더 많은 공간이 있기 때문에, “1”이 왼쪽의 나머지 공간을 채웁니다.
  3. 너비를 **부호 없음 (양수만)**으로 설정하세요.

    • -5를 입력하면 필드가 빨간색으로 변합니다. 이 모드는 음수를 지원하지 않습니다. 왜냐하면 무한한 수의 1이 필요하기 때문입니다.

전문가 팁: 색상 또는 IP 주소로 작업할 때는 항상 “부호 없음” 모드를 사용하세요. C/C++ 또는 어셈블러 과제를 수행할 때는 32비트 또는 64비트로 전환하세요.


빠른 변환표 (치트 시트)

빠른 참조를 위해 모든 “IT 전문가”가 암기해야 할 기본 값을 아래에 제공합니다.

십진법 (DEC)십육진법 (HEX)이진법 (BIN)비고
0000000
1010001
100A1010
150F11114비트 (니블)의 최대값
16100001 0000
1277F0111 1111부호 있는 8비트 (char)의 최대값
255FF1111 1111부호 없는 8비트 (바이트)의 최대값
65 535FFFF16비트의 최대값

자주 묻는 질문 (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만 허용됨).
오타를 수정하면 계산이 계속됩니다.