Comments
Description
Transcript
2.テスト用レジメ 作成例
◎10 進数→2 進数,8 進数、16 進数 305.59375(10)を基数変換する。 2)305 0.59375 2)152・・・1 × 2 2) 76・・・0 1.18750 2) 38・・・0 × 2 2) 19・・・0 0.3750 2) 9・・・1 × 2 2) 4・・・1 0.750 2) 2・・・0 × 2 2) 1・・・0 1.50 0・・・1 × 305.59375(10)=100110001.10011(2) 100 110 001.100 110(2)=461.46(8) 1 0011 0001.1001 1000(2)=131.98(16) 2 1.0 ◎浮動小数点形式 ・IEEE 123.5625(10)をIEEE形式にする (1) 2 進数に直す 123.5625(10)=1111011.1001(2) (2) 1.###×2#の形にする 1111011.1001(2)=1.1110111001×26 ・IBM形式 123.5625(10)をIBM形式にする (1) 16 進数に直す -211.65625(10)=1101 0011.1010 1000(2)=D3.A8(16) (2) 0.###×16#の形にする D3.A8(16)=0.D3A8×162 小数点の位置が左に 6 個ずれる (3) 格納 S:正なので 0(負は 1) e:e-127=6 ∴e=133=10000101(2) m:11101110010・・・0 小数部のみ取り出す 1 8 23 0 10000101 1110 1110 0100 0000 0000 000 ◎補数と減算(2 進数) ・2 の補数・・・ビットを反転して 1 を足す 減算(8 ビット) 2 進数→8 進数は、3 桁ずつに区切る 足りない分は 0 を加える 2 進数→16 進数は、4 桁ずつに区切る 足りない分は 0 を加える 小数点の位置が左に 2 個ずれる (3) 格納 S: 負なので 1(正は 0) e:e-64=3 ∴e=67=1000011(2) m: 11010011101010・・・0 小数部を 2 進数に直す 1 7 24 1 1000011 1101 0011 1010 1000 0000 0000 ・1 の補数・・・ビットを反転する 37-15 (2 の補数) =100101-1111 =100101-001111 (桁を大きい方に揃える) =100101+110001 (2 の補数) = 100101 +110001 1010110←最上位の桁上がりは無視 ∴答えは 10110(2)=22(10) 37-15 (1 の補数) =100101-1111 =100101-001111 (桁を大きい方に揃える) =100101+110000 (1 の補数) = 100101 +110000 1010101←最上位の桁上がりは無視して 1 を足す ∴答えは 10110(2)=22(10) 12-31 (2 の補数) =1100-11111 =01100-11111 (桁を大きい方に揃える) =01100+00001 (2 の補数) = 01100 +00001 01101←桁上がりがないので負 2 の補数をとる(桁数を変えない) 10010+1=10011(2)=19(10) マイナスを付けて -19 12-31 (1 の補数) =1100-11111 =01100-11111 (桁を大きい方に揃える) =01100+00000 (1 の補数) = 01100 +00000 01100←桁上がりがないので負 1 の補数をとる(桁数を変えない) 10011(2)=19(10) マイナスを付けて -19 ・BCD・・・10 進数の各桁の数字を 4bit の 2 進数で表現 ・3 増し符号・・・BCD に 3 を足したもの。all0 が無い。四捨五入が最上位 bit で判断できる ・アンパック 10 進数・・・1111 BCD 1111 BCD ・・・ BCD 符号 BCD // 158→1111 0001 1111 0101 1100 1000 ・パック 10 進数・・・・・・・BCD BCD BCD ・・・ BCD 符号 // -158→0001 0101 1000 1101 符号:正→1100 負→1101 2 進化はいずれも BCD ◎論理回路 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 f 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 ̅B ̅ C̅D ̅+A ̅B ̅ CD + A ̅ BC̅D ̅+A ̅ BCD ̅+A ̅ BCD + AB ̅ CD ̅ + AB ̅ CD ̅ + ABC̅D ̅ + ABCD ̅ 加法標準形:f = A カルノー図: AB:all CD:C(0)D(0) AB:B(1) CD:D(0) f AB:A(1) CD:D(0) AB:A(0) CD:C(1)D(1) ̅ + BD ̅ + AC̅ + A ̅ CD 簡単化: f = C̅D 00 回路図: 00 1 CD f 01 11 10 1 1 1 CD 10 AB:all CD:D(0) 1 1 1 1 AB 00 01 11 10 1 1 1 1 11 1 1 10 φ 1 1 1 00 01 11 冗長ビット:大きく囲めるときは、1 として扱っても良い ̅B ̅CD ̅ を冗長ビットとしたときの例が右の表。 A AB 1 01 ̅+A ̅C AB:A(0) CD:C(1) f = D ◎TCP/IP の 4 階層 TCP/IP 階層 代表的なプロトコル データ名 アプリケーション層 HTTP,SMTP.POP メッセージ トランスポート層 TCP,UDP セグメント インターネット層 IP,ARP パケット ネットワークインターフェース層 イーサネット,PPP フレーム ◎IP アドレスの割り振り クラス A:先頭ビットが「0」から始まるアドレスグループ。ネットワーク部は先頭の 8 ビット クラス B:先頭ビットが「10」から始まるアドレスグループ。ネットワーク部は先頭の 16 ビット クラス C:先頭ビットが「110」から始まるアドレスグループ。ネットワーク部は先頭の 24 ビット <例題> クラス B ネットワーク 172.31.0.0 をサブネット化し、各サブネットにそれぞれ 600 台のホストを収容できるようにする。ただしサブネットの数を なるべく多くするものとする。 ・作成できるサブネットの数は? 29=512,210=1024 なので、ホスト用に必要なのは 10 ビット。よってサブネット用に使えるのは 16-10=6 ビット。したがって、作成できるサブネ ットの数は、26-2=64-2=62。 ・プリフィクス長は? 16+6=22 ・サブネットマスクは? 11111111.11111111.11111100.00000000(2)=255.255.252.0 サブネット ネットワークアドレス ブロードキャストアドレス 利用可能アドレス 0 172.31.0.0 172.31.00000011.11111111 サブネット ホスト 172.31.3.255 172.31.0.1~173.31.3.254 1 172.31.00000100.00000000 サブネット ホスト 172.31.4.0 172.31.00000111.11111111 サブネット ホスト 172.31.7.255 172.31.4.1~173.31.7.254 2 172.31.8.0 172.31.11.255 172.31.8.1~173.31.11.254 ・・・・・・ ・・・・・・ ・・・・・・ ・・・・・・ 61 172.31.244.0 172.31.247.255 172.31.244.1~173.31.247.254 62 172.31.248.0 172.31.251.255 172.31.248.1~173.31.251.254 63 172.31.252.0 172.31.255.255 172.31.252.1~173.31.255.254 計算機における誤差 ・丸め誤差…数値をある桁で四捨五入、切り上げ、切り捨てした際に生じる誤差 ・オーバー(アンダー)フロー…計算結果が計算機の扱える最大(最小)値を超えた時に生じる誤差 →オーバーフローが起きる可能性がある場合、十分小さい数で計算できるよう式変形する ・桁落ち…絶対値のほぼ等しい二数の差を求めた際に、有効桁が減るために発生する誤差 →絶対値のほぼ等しい数同士の計算を、極力避ける ・情報落ち…絶対値の大きい数と小さい数を加減算した時に、絶対値の小さい数が無視される →絶対値の近い順に計算する ・打ち切り誤差…途中で計算を打ち切ることによって生じる誤差 サブネットのうち ALL0 と ALL1 を 除いた場合