• ベストアンサー

ソースについて聞きたいのですが・・・

符号付32ビットの整数値を入力して、32ビットの2進数の表示と16進数の表示をしたいのですが、ソースのヒントを教えてくれればうれしいです。わかるところまで書きます。 int x; printf("符号付32ビットの整数値の入力:"); scanf("%d" ,&x); その後を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • sobacya
  • ベストアンサー率11% (1/9)
回答No.2

例 int x; printf("符号付32ビットの整数値の入力:"); scanf("%d" ,&x); printf("HEX:%08x\nBIT:", x); for (int i = 31; i >= 0; i--) printf("%d", (x >> i) & 1); たぶんこんなんでできると思います。 (例は適当なので自分なりに直してください。) 配列の使いどころはわかりませんでした。

ilikepaso
質問者

お礼

ありがとうございます。良いヒントが得られてうれしいです。

ilikepaso
質問者

補足

ちなみに表示された2進数を4ビットずつスペース空けたいんですけど、教えていただけますか?

その他の回答 (2)

  • sobacya
  • ベストアンサー率11% (1/9)
回答No.3

適当に書いたのにそのまま動くとは・・・。 > ちなみに表示された2進数を4ビットずつスペース空けたいんですけど、教えていただけますか? 処理が理解できればすぐにできると思います。 そのくらいは自分でやってください。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

ヒント 16進数: std::hexを使用 2進数:  std::bitsetを使用 処理系(CかC++かも含めて)不明なので、こんな感じで。

ilikepaso
質問者

補足

配列を使ってできると聞いたのですが、その方法を教えていただけないでしょうか?

関連するQ&A