整数型の様々な型と数値の範囲についての解説。 N進数の変換、小数を含む場合の変換の説明と、2の補数を紹介し、 char / unsigned char / short int / unsigned short int / int / unsigned int / long int / unsigned long int などの扱える数値の範囲を紹介。
数値の範囲が及ぼす具体的な事例をいくつか紹介。
((16bitコンピュータにて)) int i ; // i:16bit for( i = 0 ; i < 1000 ; i++ ) ; // 1μsecの処理。 ならば、100μsecは、 × for( i = 0 ; i < 100000 ; i++ ) ; // 100000 > (2^15-1) ○ for( j = 0 ; j < 100 ; j++ ) for( i = 0 ; i < 1000 ; i++ ) ; ○ long i ; for( i = 0 ; i < 100000 ; i++ ) ; ((16bitコンピュータにて)) int x1 , y1 , x2 , y2 ; // (x1,y1),(x2,y2)の距離を求める。 int r = sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) ) ; // 負の数の平方根はエラーとかが発生。 ((32bitコンピュータにて)) int t1 , t2 ; // 1970年1月1日からの積算秒(unix time) × int tm = (t1 + t2) / 2 ; ○ int tm = t1 + (t2 - t1) / 2 ;
来週は、浮動小数点の扱いと double / float 型 , 文字列の扱いをやりたいな…