ページ 11

intの質問

Posted: 2017年10月17日(火) 15:17
by フィール台北
入力されたintのデータを16進数として表示するプログラムを教えてください

Re: intの質問

Posted: 2017年10月17日(火) 15:26
by purin52002
過去ログを検索すれば幸せになれるかもしれません。
http://dixq.net/forum/viewtopic.php?f=3&t=19183

Re: intの質問 C言語で

Posted: 2017年10月17日(火) 15:53
by ここばん
フィール台北 さんが書きました:入力されたintのデータを16進数として表示するプログラムを教えてください

Re: intの質問

Posted: 2017年10月29日(日) 16:31
by shika
どの様な事情が御有りかは分かりませんが、「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;
}

Re: intの質問

Posted: 2017年11月01日(水) 12:15
by shika
共用体のビットフィールドを使えば、直接変換出来ます。
例えば、

コード:

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の質問

Posted: 2017年11月02日(木) 04:21
by かずま
shika さんが書きました:共用体のビットフィールドを使えば、直接変換出来ます。
直接変換出来るとは、どういうことですか?

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