• ベストアンサー

4バイトより大きな値の2進数への変換方法

コマンドライン引数で4バイトで収まらない値(0x100000000以上)を受け取り、 2進数へ変換し出力したい場合はどのようにすればよいでしょうか? ※longlongのような64bit型を使わないことが前提として・・・ よろしくお願いします。

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

例えば8バイトの整数値であれば 4バイト×2、あるいは1バイト×8と考えて それぞれ2進数に変換します。 それを"0"埋めして桁を揃えて、連結して表示すれば良いだけです。 8バイトの符号無整数値:0xFFFFFFFF00001111なら 0xFFFFFFFF→11111111111111111111111111111111(2進数) 0x00001111→00000000000000000001000100010001(2進数) を連結して 1111111111111111111111111111111100000000000000000001000100010001 となります。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

コマンドライン引数で受け取るのが16進数を表す文字列と 限定してよいのであれば先頭から1文字づつ '0'→"0000" '1'→"0001" '2'→"0010" '3'→"0011" ~ 'F'→"1111" として出力。

すると、全ての回答が全文表示されます。

関連するQ&A