- 小テスト: 主, レポート: 従
- 三回のテストは難易度上昇有
- コロナの時のZoomの録画が使用可能
- 計算機って何?
- 用途では定義しにくい
- HW(ハードウェア)とSW(ソフトウェア)の組み合わせのシステム
- SWは入れ替えや書き換えが簡単
- どうやってソフトウェアをハードウェアで動作させるの?ということを学ぶ
- 機械語
- 命令コード(アーキテクチャ回り)
- どうやってプログラムは動作する?
- アセンブリの動作
- 6週、10週、期末にレポートがありそう
- レポートとテストで合計3回
- 進数の符号なし表現
graph LR A[計算機で連続値を扱うのは難しい] --> B[離散値を使用] C[$N$進数であればよく2進数であるのは単に扱いやすいため] --> B
- 2進数の1桁→1bit
基数表記法(いつもの)
種類の数字を利用
隣あう桁の比は
(は桁め、0桁目からスタート)を用いて
例えば漢数字やローマ数字は基数表記法に沿わない記数法の一つ
基数表記法の約束
- 最上位の桁(ビット)
- MSD(Most Significant Digit)
- MSB(~Bit)
Significant Disit=有効数字
2進数100のMSBは答えられず、4bitの2進数100のMSBは0(0100)
- 最下位の桁(ビット)
- LSD(Least Significant ~)
- LSB(~Bit)
単に10と書いてもなのかなのかなのかわからないので必要によっては明示する、0x10みたいな解決法もアリ
- 小数を表す場合はのような拡張
10進数を 進数に変換するなら
10進数をで割ったときの余りを順に並べていくとを得られる小数の場合は?
10進数にをかけて整数部に出てきた値を小数部が0になるまで並べる
- はちゃんと2進数として扱えない→そのまま計算すると誤差が出てたいへん
- 2と16は桁を分割するだけだから簡単
- 8も
- はどれもそう
それはそう
- 循環小数が解消できたりできなかったりする
負の数の表現
mindmap 負数の表現 符号付き絶対値 補数 1の補数 2の補数
- 符号付きではハードの構成が複雑になりやすい
- 補数を用いるとをにして加算だけで減算を実現できる
補数(complement)
- 補数の補数は元の数
- の補数(真補数/2進法なら2の補数)
- の補数(疑補数/2進法なら1の補数)
補数を混ぜてはいけない
2の補数
- 各ビットを反転して1を加算
- 桁数の指定がないといけない
- MSBが1の時に負とする
- もう一回bit反転して1足すと元の数を見ることも可能
真補数の定義
進数桁の数とがであるとき、はの真補数(の補数)であるという。
の真補数
の真補数
→とできればの真補数はに相当するのであふれた一桁を無視すると減算がうまくいく
→この際には正負の数の切れ目を勝手に定めることができ、2真ならMSBで半分に分けられるのでそうする場合が多い