平成 27 年 10 月 21 日
【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。 補数 ⇒( 10 進数) 符号ビットが1なので負数
【応用課題 2-2 】 【基礎課題 2-6 】と同じ 16 ビット浮動小数点表示を考えます。この表示 で表した次のビット列は、 10 進数で表すと何になりますか。 指数 × 2 4 = ⇒( 10 進数) 8.125
【応用課題 2-3 】 【基礎課題 2-7 】と同じ 16 ビット浮動小数点表示を考えます。こ の表示で表した次のビット列は、 10 進数で表すと何になりますか。 指数 = × 2 3 = ⇒( 10 進数)
【応用課題 2-4 】 2 の補数で表された負数 の絶対値はどれか。(平成 20 年度秋) ア イ ウ エ 【応用課題 2-5 】 負数を2の補数で表すとき、すべてのビットが1である n ビットの 2 進 数 ”1111 ・・・ 11” が表す数値又はその数式はどれか。(平成 20 年度春) ア –(2 n-1 -1) イ -1 ウ 0 エ 2 n -1
【応用課題 2-6 】 負数を2の補数で表す 8 ビットの数値がある。この値を 10 進数で表現す ると -100 である。この値を符号なしの数値として解釈すると、 10 進数で幾 らか。(平成 17 年度春) ア 28 イ 100 ウ 156 エ = ⇒( 2 進数) 補数: ⇒( 10 進数) = 156
【応用課題 2-7 】 次の 24 ビットの浮動小数点形式で表現できる最大値を表すビット列を、 16 進 数として表したものはどれか。ここで、この形式で表現される値は (-1) S ×16 E- 64 ×0.M である。(平成 18 年度秋) ア 3FFFFF イ 7FFFFF ウ BFFFFF エ FFFFFF 仮数部 (M) :絶対値表現 指数部 (E) :実際の指数に 64 を 加算したもの 0 ≦ E ≦ 127 仮数部の符号 (S) : 0 は非負、 1 は負
1. 論理シフト演算 2. 算術シフト演算 3. 一般の乗算 4. 誤差 <目的> シフト演算を理解し、 2 進数の乗算と除算を行えるようになる こと。また、コンピュータ内部での演算の際にどのような誤 差が発生するかを理解すること。 <学習内容>
2 進数の乗算(かけ算) 2 進数を 2 倍することは ・・・> けたを左に1つずらすこと 例) 0011 × 2 = 進数を 4 ( 2 2 )倍することは ・・・> けたを左に2つずらすこと 例) 0011 × 2 2 = 進数を 2 n 倍することは 2 進数の除算(割り算) 2 進数を 0.5(1/2= 2 -1 ) 倍することは ・・・> けたを右に1つずらすこと 例) 0110 ÷ 2 = 進数を 2 -n 倍することは けたを左にn個ずらすこと けたを右にn個ずらすこと
与えられた数値のけた数を左右にずらす演算 2 進数の場合:正の 2 進整数に 2 n をかけるあるいは 2 n で割る演算に対応。 論理左シフト 論理右シフト ( 10 進数) ×4×4 空いたビットには 0 を入れる あふれたビットは捨てる ( 10 進数) ÷4÷ あふれたビットは捨てる 00 空いたビットには 0 を入れる 5 【基礎課題 3-1 】~ 【基礎課題 3-3 】
÷ 切り捨てになっている 固定小数点表示を用いると・・・ 6.0 ÷4 計算可能
符号付きの 2 進数の場合、論理シフトするだけでは、乗算、除算になら ない 例) 0101 × 2 ⇒ ( 左論理シフト ) =1010 ⇒( 10 進数) -6 ? 最上位ビットが符号ビットであることに注意 n ビットで表せるのは、 -2 n-1 ~ 2 n-1 -1 ビット数を増やせば・・・ 例) × 2 ⇒ ( 左論理シフト ) =01010 ⇒( 10 進数) 10 OK 5 けたあふれしなければ、正数については OK
例1) 1110×2 を考える 補数をとる ⇒ 0010 ( 正数 ) 2をかける(左に1つ論理シフト)⇒ 0100 補数をとる ⇒ 1100 ⇒ -4 OK 例2) × 4 補数をとる ⇒ (正数) 4 をかける(左に2つ論理シフト)⇒ 補数をとる ⇒ ⇒ -8 OK ①符号は固定 ②左にシフトして 0 を埋める? 符号は固定 左にシフトして 0 を埋める?
例1) 1010÷2 を考える 補数をとる ⇒ 0110 ( 正数 ) 2で割る(右論理シフト)⇒ 0011 補数をとる ⇒ 1101 ⇒ -3 OK 例2) ÷ 4 補数をとる ⇒ (正数) 4 で割る(右に2つ論理シフト)⇒ 補数をとる ⇒ ⇒ -6 OK ①符号は固定 ②右にシフトして 1 を埋める? 符号は固定 右にシフトして 1 を埋める?
11 算術左シフト 算術右シフト × 空いたビットには 0 を入れる -96 あふれたビットは捨てる ÷ 空いたビットには符号ビッ トと同じビットを入れる - 6 あふれたビットは捨てる 1 符号ビット はそのまま 1 【基礎課題 3-4 】~ 【基礎課題 3-5 】
2 進数 ×N を求める場合・・・ N を 2 n の和で表現するとシフト演算を用いて計算できる 例1) × 3 の場合 × 3 = × ( 2+1 ) = × × 1 = = ⇒ 15 ( 10 進数) 例2) × 6 の場合 × 6 = × ( ) = × × 2 = = ⇒ 30 ( 10 進数) 【基礎課題 3-6 】
誤差とは コンピュータ内部では、指定されたけた数で数値を表現している。そ のため、真の値との差が生ずる。その差を誤差という。 誤差は、その発生原因に応じて次のように分類されている。 けたあふれ誤差 丸め誤差 けた落ち 情報落ち 打ち切り誤差
けたあふれ誤差 演算結果がコンピュータ内部で表現できる範囲を超えることで発生する誤差。次 の 2 種類がある <オーバーフロー> 演算結果が数値で表現できる最大値を超えてしまうこと 例) 4 ビットの 2 進整数(正): 0110 ×4 ⇒ けたを超える <アンダーフロー> 演算結果が数値で表現できる最小値より小さくなってしまうこと 例) 4 ビット固定小数点表示(正): 10.10÷16 ⇒ 最小けたより小さくなる
丸め誤差 指定されたけた数で演算結果を表すため、最下位のけたより小さい部分を 四捨五入、切り捨てあるいは切り上げを行う。そのとき発生する誤差。 例) 4 ビット固定小数点(正): 10.01÷2 ⇒ 最下位より下は切り捨て
けた落ち 絶対値のほぼ等しい二つの数値の絶対値の差を求めた際に、有効けた数が 減少することで生ずる誤差。 例)有効数字4けたの 10 進数: = 有効けた数が4けたから1けたへ減少する
情報落ち 絶対値の非常に大きな数値と非常に小さい数値の加算あるいは減算を行っ た際に、小さい方の数値が演算結果に反映されないために生ずる誤差。 例)有効けた数 3 けたの浮動小数点( 10 進数) × × = × ) × × 10 3 ⇒ 0.123× × が反映されない 正規化
打ち切り誤差 特定のけたでデータが打ち切られてしまうことで生じる誤差。 例) 1÷3 を 10 進数で求めると 1 ÷ 3 = ・・・ 例えば7けたで打ち切ると 1 ÷ 3 = このとき、真の値との差が生ずる。 無限に続く・・・ 【基礎課題 3-6 】
【応用課題 3-1 】~【応用課題 3-4 】 明日( 10 月 22 日) 18:00
10 月 28 日 集合と論理演算 11 月 4 日 論理回路 11 月 11 日 第1回理解度確認テスト