整数の型と数値の範囲

整数型の様々な型と数値の範囲についての解説。 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 型 , 文字列の扱いをやりたいな...
 

2015年12月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

アーカイブ

Google

このブログ記事について

このページは、T-Saitohが2009年4月27日 11:47に書いたブログ記事です。

ひとつ前のブログ記事は「PHPによるWebアプリケーションとセキュリティ」です。

次のブログ記事は「PHP講習会/H8割り込み講習会」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。