投稿

ラベル(誤差)が付いた投稿を表示しています

7月13日(水)1コマ目

イメージ
今日、やったこと 誤差 文字コード 今日のホワイトボード 誤差 オーバーフロー データがデータサイズより大きくなると発生。 アンダーフロー 浮動小数点データが最小値より小さくなると発生。 丸め誤差 データサイズに収めるために、あるケタより小さい桁の 値を丸めてしまう (切り上げや切り捨てを行う)ことで発生する誤差。 ケタ落ち 近い値同士の減算をした場合のように 有効ケタ数が減ってしまう ことで発生する誤差。 情報落ち 非常に離れた値同士の計算を行う際、 ケタ数を合わせるためにデータが欠落する ことで発生する誤差。 文字コード 「文字コード」という言葉がごちゃごちゃに扱われているので注意!! 符号化方式を文字コードと呼んだり 符号化されたデータを文字コードと呼んだり 文字集合・符号化 文字集合は符号化する文字のあつまり。 文字は符号化方式に従って符号化される。 図 文字集合・符号化 用語解説 JIS、ISO いずれも規格(ルール)を決める団体および規格名の総称。 図 JIS、ISO エンコード・デコード データを符号化することをエンコード。 符号化されたデータをもとに戻すことをデコード。 図 エンコード、デコード ASCIIで符号化すると プログラムで文字を変数に代入すると、各変数のメモリ上のデータは下図のように符号化された値が代入されている。 図 C言語での文字の扱い 次回は 文字コードの続きをやります。 また、誤差のテストをそのうちやります。(多分、次回はやらない) 

6月29日(水)1コマ目

イメージ
今日、やったこと ビットシフトで掛け算 誤差(オーバーフロー、アンダーフロー) 今日のホワイトボード ビットシフトで掛け算 2進数の場合、x2 n なら、nビット左シフト。 もし、2 n にならない場合は、(2 n1 +2 n2 +・・)のようにバラシて。 図 左シフトで掛け算 問4 5×6 = (4 + 1)×6 = (2 2 + 2 0 )×6 でも可。 図 左シフトで5×6 問5 ー7は絶対値7の2の補数で表す。 図 左シフトでー7×7① 図 左シフトでー7×7② 誤差 真値からの差が誤差。 コンピュータではやり方によっては誤差が発生します。 どんなときにどんな誤差が発生するかを把握しておいた方がいい。 オーバーフロー たとえば、char型(unsigned char型も)ならビット長は1バイト(8ビット)。この範囲を超えると誤差が発生する。 サンプルプログラムでは1からどんどんインクリメント(+1)していくと、254、255の次は256ではなく、0になってしまう。これはオーバーフローが発生したため。 図 オーバーフロー アンダーフロー 整数型では発生しないが、実数型(float型、double型)で計算結果が最小値より小さくなる場合に発生する。 サンプルプログラムではfloat型の1.0を÷2(1ビット右シフト)して、さらに÷2してを繰り返す。 途中で突然0になってしまう。...