เลขฐานสองจะแสดงใน 1 และ 0
ระบบเลขฐานสิบหก 16 หลัก คือ {0,1,2,3…..9, A(10), B(11),……F(15)}
ในการแปลงจากการแทนค่าไบนารีเป็นเลขฐานสิบหก id สตริงของบิตจะถูกจัดกลุ่มเป็นบล็อก 4 บิตซึ่งเรียกว่า nibbles จากด้านที่มีนัยสำคัญน้อยที่สุด แต่ละบล็อกจะถูกแทนที่ด้วยเลขฐานสิบหกที่เกี่ยวข้อง
มาดูตัวอย่างกันเพื่อความชัดเจนในการแทนเลขฐานสิบหกและเลขฐานสอง
0011 1110 0101 1011 0001 1101 3 E 5 B 1 D
เราเขียน 0X3E5B1D สำหรับค่าคงที่ฐานสิบหกในภาษา C
อีกตัวอย่างหนึ่งซึ่งวิธีการแปลงทศนิยมเป็นเลขฐานสองคืออะไรและจากนั้นเป็นเลขฐานสิบหกมีดังต่อไปนี้ -
7529D = 0000 0000 0000 0000 0001 1101 0110 1001B = 0x00001D69 = 0x1D69
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C ซึ่ง วิธีแปลงเลขฐานสองเป็นเลขฐานสิบหกที่เท่ากันโดยใช้ while loop −
#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