• ベストアンサー

基数変換について教えてください。

 基数変換について以前から少し疑問に思っいた点があるので教えてください。例えば10進数の56を2進数に直すと111000になります。しかし、16進数の38から2進数に直すと4桁ずつ計算する癖がついているので00111000とかいてしまいます。この2つは桁数でいうと前者が6桁、後者が8桁で表されているだけで、結局は同じ事を意味していると思うのですが、例えば参考書の答えでは、しっかりと00111000と書いてあります。この桁数というのは重要なのでしょうか?答えの時111000としてしまっては間違えになるのでしょうか?よろしくお願いします。

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

  • ベストアンサー
  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.2

位取りでは,余分なゼロは書かないというのが原則です. 例えば,十進法で百は100と書き,0100とは書きません. こういう立場からすると,00111000よりはむしろ111000の方が 正しいと言えます. ただし,16進数,2進数が出てくるのはたいていコンピューターの世界です. 16進数2桁を表すのに2進数8桁ですが, そのために8つのビットを用意したとします. で,111000をあらわすのに,対応する6つのビットを111000とすれば OKかというとそうは行きません. 左側の2つのビットはどうなっているか分からないからです. どうなっているかは,2進数の表現にビットが割り当てられる前にその記憶領域が どういう風に使われたかという履歴によります. したがって,111000を間違いなく表そうと思ったら, 8つのビットをちゃんと00111000とする必要があります. こういう視点からするなら,00111000が正しいと言えるでしょう.

その他の回答 (3)

  • coolguys
  • ベストアンサー率18% (351/1917)
回答No.4

コンピュータとしてなら、 単位が8づつなので、 ケタに収まる様に「0」を付けるのが正しい書き方です。 でも、実際には省略している事が多い (暗黙の了解)です。

  • hero1000
  • ベストアンサー率29% (114/390)
回答No.3

間違いにはならないと思いますよ。 16進数でも2桁ずつ書くが人いますが、間違いではありません。

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.1

正しい解答だと思います。

関連するQ&A