『コンピュータアーキテクチャのエッセンス』を読む その 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:普通の数値の表記と同じ並び