이진수는 1과 0으로 표현됩니다.
16자리의 16진수 체계는 {0,1,2,3…..9, A(10), B(11),…F(15)}
입니다.2진에서 16진 표현으로 변환하기 위해 비트 문자열 id는 최하위 쪽에서 니블이라고 하는 4비트 블록으로 그룹화됩니다. 각 블록은 해당하는 16진수로 대체됩니다.
16진수 및 2진수 표현에 대한 명확성을 얻기 위해 예를 살펴보겠습니다.
0011 1110 0101 1011 0001 1101 3 E 5 B 1 D
C 언어의 16진 상수에 대해 0X3E5B1D를 작성합니다.
10진수를 2진수로 변환한 다음 16진수로 변환하는 방법에 대한 또 다른 예는 다음과 같습니다. -
7529D = 0000 0000 0000 0000 0001 1101 0110 1001B = 0x00001D69 = 0x1D69
예시
다음은 while 루프를 사용하여 이진수를 해당하는 16진수로 변환하는 방법을 설명하는 C 프로그램입니다. -
#include <stdio.h> int main(){ long int binaryval, hexadecimalval = 0, i = 1, remainder; printf("Enter the binary number: "); scanf("%ld", &binaryval); while (binaryval != 0){ remainder = binaryval % 10; hexadecimalval = hexadecimalval + remainder * i; i = i * 2; binaryval = binaryval / 10; } printf("Equivalent hexadecimal value: %lX", hexadecimalval); return 0; }
출력
위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -
Enter the binary number: 11100 Equivalent hexadecimal value: 1C