投稿

5月, 2024の投稿を表示しています

5月31日(金)1コマ目

イメージ
今日、やったこと [確認テスト]誤差 文字コード 今日のホワイトボード コンピュータで文字を扱うには コンピュータ内のデータはすべてビット列。 数値はビット列に変換できる。 文字は一旦数値に置き換えればビット列になる。コンピュータで文字を扱うことができる。 文字の画像をビット列にすることも一案だけど、データサイズが大きくなってしまう。 一般的には各文字にユニークな数値を割り当てている。 図 コンピュータで文字を扱うには 文字コード よく使われる単語だが、人によって、話の文脈によって何をさすかが変わる。 誤解を生みやすい単語なので、この授業では極力「文字コード」を使わないようにします。 「文字コード」の使われ方例 文字集合(文字のあつまり)を文字コードと呼んでみたり 文字符号化方式(文字を数値に変換するためのルール)を文字コードと呼んでみたり 文字符号化方式に従って符号化されたデータを文字コードと呼んでみたり 文字集合と文字符号化方式 文字集合は文字のあつまり。 文字符号化方式は文字を符号(数値)に置き換えるためのルール。 図 文字集合、文字符号化方式 この2つ(文字集合、文字符号化方式)は別モノです。 規格を決める団体 文字集合も文字符号化方式も個人が勝手にやるわけにはいかない(みんな同じ文字集合、文字符号化方式を使うため)。 そこで規格を決める団体が文字集合や文字符号化方式を決める。 図 規格を決める団体 JISは日本だけの規格。ISOはグローバルな規格。 日本国内だけしか流通しない商品やサービスならJISを満たせばOK。 グローバルに展開するならISOを満たす必要あり。 文字符号化集合 符号化された文字のあつまり。文字集合+文字符号化方式のイメージ。 図 文字符号化集合 ASCII コンピュータ初期のころに生まれた。 文字集合+文字符号化方式。 初期のころなので分けて考える必要性を感じていなかった。 アルファベット+数字+記号+制御文字の約100文字。 1文字7ビット。(7ビットなら128パターン) 図 ASCII ASCIIで符号化 ASCIIの表に従って各文字を符号化。 図 ASCIIで符号化 JIS X 0201 日本語版ASCII。 ASCIIに半角カナを追加。 半角カナを追加すると128文字(7ビットの上限)を超えるため、 1文字8ビット 。(8ビット...

5月27日(月)2コマ目

イメージ
今日、やったこと 誤差(ケタ落ち、情報落ち) [練習問題]誤差 今日のホワイトボード 有効ケタ数 計測した値のケタ数が有効ケタ数。 ケタ数合わせのために挿入した値は信用できない値。よって、有効ケタではない。 図 有効ケタ数 ケタ落ち 近い値同士の引き算 をすると、正規化の結果、ケタ数を合わせるために信用できない値が挿入され、 有効ケタ数が減る 。これがケタ落ち。 図 ケタ落ち 情報落ち 離れた値同士の計算 をすると、指数を合わせる際に仮数の データが切り捨てられる ことがある。これが情報落ち。 図 情報落ち [練習問題]誤差 用語について 今までに出てこなかった用語。 図 用語 問4 一見、なんのことやらな問題ですが、ケタ落ちは近い値同士の引き算で発生するため、近い値同士の引き算をしているか否かをチェックすればOK。 図 問4 次回は 誤差の確認テストをします。  

5月24日(金)1コマ目

イメージ
今日、やったこと [確認テスト]ビットシフト 誤差(オーバーフロー、アンダーフロー、丸め誤差) 今日のホワイトボード  [誤差]オーバーフロー コンピュータでデータを扱う際、データサイズに上限がある。計算することでデータサイズ内に収めるためにデータが消えることがある。これが誤差。 オーバーフローはデータサイズの上限値を超えることで発生する誤差で、上位ビットのデータが溢れていくからオーバーフロー。 図 [誤差]オーバーフロー [誤差]アンダーフロー アンダーフローは浮動小数点型でデータサイズの下限値より小さくなくことで発生する誤差。下位ビットからデータが溢れていくからアンダーフロー。 図 [誤差]アンダーフロー [誤差]丸め誤差 ”丸め”とはデータサイズ内に収めるために、データの一部を切り上げ/切り捨てること。四捨五入も丸め。 発生しやすいのは小数。10進数の小数を2進数に変換するさい、循環小数になる値がある(例えば0.05)。 循環小数は永遠に値が続くがfload型やdouble型に収めるにはデータを切り上げ/切り捨てる必要がある。丸め誤差が発生してしまう。 図 [誤差]丸め誤差 次回は 誤差の続き。 テストはしません。

5月10日(金)1コマ目

イメージ
今日、やったこと [確認テスト]浮動小数点形式 ビットシフトで掛け算、割り算 誤差 今日のホワイトボード ビットシフトで掛け算、割り算 前回配布した練習問題の問3から問5をやりました。 問3 レジスタ=CPU上のメモリ。要はメモリです。 16進数1ケタは2進数に変換すると4ケタです。 16進数->2進数、16進数<-2進数の変換をサッとできるようになってください。結構使います。 図 ビットシフト練習問題 問3 問4 ここでは5x6を5x4+5x2に分解しましたが、6x4+6x1に分解してもOKです。 図 ビットシフト練習問題 問4 問5 負数は絶対値の2の補数で表すです。 図 ビットシフト練習問題 問5 誤差 新たに資料を配布しました。次回以降使いますので無くさないように。 ソースコードも配布しましたが、入力していただく必要はありません。 次回は ビットシフトのテストをします。