Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm thế nào để chuyển đổi nhị phân sang Hex bằng cách sử dụng ngôn ngữ C?

Số nhị phân được biểu thị bằng 1 và 0.

Hệ thống số thập lục phân có 16 chữ số là {0,1,2,3… ..9, A (10), B (11), …… F (15)}

Để chuyển đổi từ biểu diễn nhị phân sang hex, id chuỗi bit được nhóm thành các khối 4 bit được gọi là nibbles từ phía ít quan trọng nhất. Mỗi khối được thay thế bằng chữ số hex tương ứng.

Hãy xem một ví dụ để hiểu rõ hơn về cách biểu diễn số thập lục phân và số nhị phân.

0011 1110 0101 1011 0001 1101
  3    E    5    B   1    D

Chúng tôi viết 0X3E5B1D cho một hằng số hex bằng ngôn ngữ C.

Một ví dụ khác về cách chuyển đổi hệ số thập phân sang hệ nhị phân và sau đó là hệ thập lục phân như sau -

7529D = 0000 0000 0000 0000 0001 1101 0110 1001B
      = 0x00001D69 = 0x1D69

Ví dụ

Sau đây là chương trình C là gì cách số nhị phân được chuyển đổi thành số thập lục phân tương đương bằng cách sử dụng vòng lặp while -

#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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter the binary number: 11100
Equivalent hexadecimal value: 1C