ホームページ  >  記事  >  バックエンド開発  >  C言語を使用して2進数を16進数に変換するにはどうすればよいですか?

C言語を使用して2進数を16進数に変換するにはどうすればよいですか?

PHPz
PHPz転載
2023-09-01 18:57:061828ブラウズ

C言語を使用して2進数を16進数に変換するにはどうすればよいですか?

2 進数は 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

Example

次は C プログラムです。 while ループで 2 進数を同等の 16 進数に変換します。

- ライブ デモンストレーション

#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言語を使用して2進数を16進数に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。