首頁 >後端開發 >C++ >如何使用C語言將二進位轉換為十六進位?

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

PHPz
PHPz轉載
2023-09-01 18:57:061915瀏覽

如何使用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 迴圈將二進位數轉換為等效的十六進位數 -

 Live示範

#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

以上是如何使用C語言將二進位轉換為十六進位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除