intの質問

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
フィール台北

intの質問

#1

投稿記事 by フィール台北 » 6年前

入力されたintのデータを16進数として表示するプログラムを教えてください

アバター
purin52002
記事: 235
登録日時: 7年前
連絡を取る:

Re: intの質問

#2

投稿記事 by purin52002 » 6年前

過去ログを検索すれば幸せになれるかもしれません。
http://dixq.net/forum/viewtopic.php?f=3&t=19183
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^

ここばん

Re: intの質問 C言語で

#3

投稿記事 by ここばん » 6年前

フィール台北 さんが書きました:入力されたintのデータを16進数として表示するプログラムを教えてください

shika

Re: intの質問

#4

投稿記事 by shika » 6年前

どの様な事情が御有りかは分かりませんが、「Cの絵本」のP.35にの載っていますが、
まさか著作権などと言って、簡単なプログラムの公開を妨害するのもおかしな話ですので、
差し迫って必要なら、下記に記して置きます。

コード:

#include <stdio.h>

int main(void)
{
  int a = 18, b = 0x1a;

  printf("10進数の %d は、16進数の %x です。\n", a, a);
  printf("10進数の %d は、16進数の %x です。\n", b, b);

  return 0;
}

shika

Re: intの質問

#5

投稿記事 by shika » 6年前

共用体のビットフィールドを使えば、直接変換出来ます。
例えば、

コード:

struct bit32 {
  unsigned b1f: 1;
  unsigned b1e: 1;
  unsigned b1d: 1;
  unsigned b1c: 1;
  unsigned b1b: 1;
  unsigned b1a: 1;
  unsigned b19: 1;
  unsigned b18: 1;
  unsigned b17: 1;
  unsigned b16: 1;
  unsigned b15: 1;
  unsigned b14: 1;
  unsigned b13: 1;
  unsigned b12: 1;
  unsigned b11: 1;
  unsigned b10: 1;
  unsigned b0f: 1;
  unsigned b0e: 1;
  unsigned b0d: 1;
  unsigned b0c: 1;
  unsigned b0b: 1;
  unsigned b0a: 1;
  unsigned b09: 1;
  unsigned b08: 1;
  unsigned b07: 1;
  unsigned b06: 1;
  unsigned b05: 1;
  unsigned b04: 1;
  unsigned b03: 1;
  unsigned b02: 1;
  unsigned b01: 1;
  unsigned b00: 1;
}; 

union int_type {
  int dec; 
  struct bit32 bits;
} dec_bit;
の様に宣言して、望みのプログラムを組めば、ビットデータの参照可能です。
まだまだc言語の初心者ですが、是非参考になれば幸いです。

かずま

Re: intの質問

#6

投稿記事 by かずま » 6年前

shika さんが書きました:共用体のビットフィールドを使えば、直接変換出来ます。
直接変換出来るとは、どういうことですか?

16進数として表示するプログラムが求められているのに
1ビットずつのビットフィールドでいいんですか?

返信

“C言語何でも質問掲示板” へ戻る