『コンピュータアーキテクチャのエッセンス』を読む その 2

データやプログラムの表現

  • (特に指定がなければ) 1 byte は 8 bit
  • k bit からなる byte は 0 から 2^k - 1 までの値を表現出来る
  • 最下位 byte から順に番号付けをするのがビッグエンディアン*1、その逆がリトルエンディアン
  • よく 2 の補数が使われるのはハードウェアの価格的コストと実行速度が理由
  • 符号なし整数と 2 の補数を使った符号付き整数は同じハードウェアで動作する
  • IEEE浮動小数点の形式は ( 符号 bit )( 指数 bit )( 仮数 bit ) と並び、仮数 bit からのリトルエンディアン
  • IEEE では「全ての bit が 0 であれば 値は 0 」、「指数部が全て 1 、仮数部が全て 0 ならば正負の無限大」
  • データの集約(配列や構造体など)は連続した byte を占める


浮動小数点の辺りがイマイチ理解出来ていない気がするなぁ。あと符号拡張の話も。
それから演習問題が結構難しいんだけど、やったほうが良さそうな問題なんだよね。悩み中。

*1:普通の数値の表記と同じ並び