如何使用 C 語言將二進位制轉換為十六進位制?


二進位制數以 1 和 0 的形式表示。

具有 16 個數字的十六進位制數系統是 {0,1,2,3…9, A(10), B(11),……F(15)}

要從二進位制轉換為十六進位制表示,位字串 id 被分組為 4 位塊,稱為從最低有效位開始的半位元組。每個塊都替換為對應的十六進位制數字。

我們來看一個關於十六進位制和二進位制數表示的例子來理解它們。

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

在 C 語言中,我們為十六進位制常量寫 0X3E5B1D。

另一個示例,即如何將十進位制轉換為二進位制,然後再轉換為十六進位制,如下所示 -

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

示例

以下是 C 語言程式,它以如何使用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;
}

輸出

當執行上述程式時,它將產生以下結果 -

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

更新時間:2024 年 6 月 19 日

9K+ 次檢視

開啟您的事業生涯

完成課程可獲得認證

開始
廣告