1.1 整数型のサイズと表現範囲

<問題> Cの整数型データ int (整数、正負の符号あり) について確認

それぞれの型は、コンピュータ内部で何バイトで表現されているのか、また、表現できる数の範囲を確認しよう。


<コメント>


<実行例>:(出力結果を読んでみよう)

int :-2147483648 〜 2147483647 (負の数の絶対値は2147483648と、正の数の絶対値より1多い)
int :0x80000000 〜 0x7fffffff (16進数で、80 00 00 00 〜 7F FF FF FF 16進の80は1000 0000 7Fは0111 1111)
sizeof(int) =4 Byte

unsigned int :0 〜 4294967295 (正の整数だけで、4バイトを使う)
unsigned int :0x0 〜 0xffffffff
sizeof(unsigned) =4 Byte



実行例


解答例
#include <stdio.h>
#include <limits.h>

int main (void) {

   printf ("int              :%d 〜 %d\n", INT_MIN, INT_MAX);
   printf ("int              :0x%x 〜 0x%x\n", INT_MIN, INT_MAX);
   printf ("sizeof(int)      =%u Byte\n\n", sizeof(int));

   printf ("unsigned int     :%u 〜 %u\n", 0, UINT_MAX);
   printf ("unsigned int     :0x%x 〜 0x%x\n", 0, UINT_MAX);
   printf ("sizeof(unsigned) =%u Byte\n", sizeof(unsigned));

   return 0;
}