投稿

ラベル(浮動小数点)が付いた投稿を表示しています

4月28日(金)3コマ目

イメージ
今日、やったこと [確認テスト](負数を含む)10進数<=>2進数 10進数を浮動小数点形式の2進数へ 浮動小数点形式の2進数を10進数へ 今日のホワイトボード 10進数を浮動小数点形式の2進数へ 問題をやってもらいました。ポイントは正規化でしょうか。 問1 111.101を1.11101へ小数点を動かすために、2の何乗を掛ければいいかがポイントです。 図 10進数を浮動小数点形式の2進 数へ問1 問2 これも小数点の移動に注意です。問1と移動方向が違います。 図 10進数を浮動小数点形式の2進数へ 問2 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問3 問1、問2で正規化した結果(1.xxx × 2n)を単精度のフォーマットで各ビットに値をセットすればOKです。 ただ、指数部にバイアス値(127)を足すことをお忘れなく。 図 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問3 問4 問3と同じです。 図 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問4 問5 問4と同じですが、指数が負数になっている点に注意。 図 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問5 浮動小数点形式の2進数を10進数へ 問6 フォーマットに従って各ビットのデータを切り取ればOK。 指数部はバイアス値(127)を引くことに注意!! 図 浮動小数点形式の2進数を10進数へ 問6 問7 問6とおなじ。 図 浮動小数点形式の2進数を10進数へ 問7 バイアス値は? 指数部の値にバイアス値(127)を足すのは、2進数のビット列にした際、大小の比較が単純にできるように(より上位のビットが1なら大きい)するため。 次回は 浮動小数点形式の2進数をテストをします。 よい連休を。  

4月26日(水)1コマ目

イメージ
今日、やったこと N進数の足し算、引き算 浮動小数点 今日のホワイトボード 前回のテストで 基数の補数を計算する際、繰り下がりのある引き算をする必要がある。 しかし、どっかのサイトに以下のように計算すると簡単と書いてある。例えば4進数の場合、   3 3 3  4 ー 3 2 1 0     1 2 4 そのまま計算して、そのまま回答すると間違える。ご注意ください。 図 基数の補数の計算 繰り上げり、繰り下がりのあるN進数の計算に慣れてもらうために、練習問題をやりました。 2進数->10進数へ(負数あり) 2進数では負数を絶対値の2の補数で表す場合、2進数を10進数への変換をやりました。 流れは下図のようになります。 図 2進数を10進数へ(負数あり) 小数の表し方 日常的に使っているのは固定小数点形式。 コンピュータでは小数は浮動小数点形式で扱っている。 図 小数の表し方 コンピュータでは小数は下図の2進数で扱っている。 図 2進数での浮動小数点形式 小数を浮動小数点形式の2進数へ ①固定小数点形式の2進数へ まず、固定小数点形式の2進数へ変換。これは以前やったのと同じ。 ②正規化 1.xxx × 2n にする。 図 正規化 ③所定のフォーマットへ float型(4バイト)、double型(8バイト)それぞれフォーマットが決まっているので、そのフォーマットに従って、可数部、指数部および符号をセットしていく。 図 float型のフォーマットへ 次回は 負数を含む10進数<=>2進数のテストをします。