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

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

PHPz
リリース: 2023-09-01 18:57:06
転載
1923 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート