6月16日(水)1コマ目

今日、やったこと

  • 基数変換まとめのテスト
  • 誤差

今日のホワイトボード

コンピュータでの誤差

コンピュータには誤差なんて発生しないように思われがちですが、データ取り扱いの特徴から誤差が発生するケースがあります

C言語のchar型、unsigned char型

char型、unsigned char型はともに1バイト。


〇char型

符号あり。負数は絶対値の2の補数として格納。

2進数10進数
1111 1111-128
0000 00000
0111 1111127


〇unsigned char型

符号なし。

2進数10進数
0000 00000
0111 1111127
1000 0000128
1111 1111255


unsigned char型の変数に初期値1を代入し、その後+1(インクリメント)を繰り返す。

図 変数valのインクリメントを繰り返すと

変数valのインクリメントを繰り返し、その値が255(2進数では1111 1111)になったあと、さらにインクリメントするとどうなるでしょうか?

ここで時間切れ。つづきは次回。


 

コメント

このブログの人気の投稿

5月19日(水)1コマ目

4月22日(木)1コマ目

6月23日(水)1コマ目