【C语言学习】整数类型表达数的范围

一、整数类型表达数的范围

1.char类型

char 是1个字节 ,即00000000 ~ 11111111,一般情况默认是有符号char(signed char) ,此时char所能表达的数就是 -128 ~ 127,即 -2 ^ n-1 ~ (2 ^ n-1)-1 ,其中n是位数或比特位(1字节=8位=8比特) 但无符号char(unsigned char)表达的数就是0~255,即 0~ (2 ^ n)-1

(1)signed char 有符号char
有符号时表示0 ~ 127 ,127 ~ -128 , -128 ~ -1
即 -128~127 .其实就是 -2 ^ 7 ~ 2 ^ 7-1。
【C语言学习】整数类型表达数的范围_第1张图片
(2)unsigned char 无符号char
0 ~ 127 , 127 ~ 128 , 128 ~255,即0 ~ 255,其实就是0 ~ 2^8-1
【C语言学习】整数类型表达数的范围_第2张图片

2.short类型

short是2个字节 ,即00000000 00000000 ~ 11111111 11111111,一般情况默认是有符号short(signed short) ,此时short所能表达的数就是 -32768 ~ 32767;但无符号short(unsigned short)表达的数就是0 ~ 65535.

(1)signed short有符号short
有符号时表示0 ~ 32767,32767 ~ -32768 , -32768 ~ -1
即-32768 ~ 32767 .其实就是 -2 ^15 ~ 2 ^15-1.
【C语言学习】整数类型表达数的范围_第3张图片
(2)unsigned short无符号short
0 ~ 32767,32767 ~ 32768 , 32768 ~ 65535 即0 ~ 65535,其实就是0 ~ 2 ^16-1
【C语言学习】整数类型表达数的范围_第4张图片

3. int类型讲解

int是4个字节 ,即00000000 00000000 00000000 00000000 ~ 11111111 11111111 11111111 11111111,一般情况默认是有符号int(signed int) ,此时int所能表达的数就是**-2147483648 ~ 2147483647** ;但无符号int(unsigned int)表达的数就是 0 ~ 4294967295

(1)signed int有符号int
有符号时表示0 ~ 2147483647 ,2147483647 ~ -2147483648 , -2147483648 ~ -1
即-2147483648 ~ 2147483647 .其实就是 -2 ^31 ~ 2 ^31-1.
【C语言学习】整数类型表达数的范围_第5张图片
(2)unsigned int无符号int
无符号时表示0 ~ 2147483647 ,2147483647 ~ 2147483648 , 2147483648 ~ 4294967295
即0 ~ 4294967295 .其实就是 0 ~ 2 ^32-1.
【C语言学习】整数类型表达数的范围_第6张图片

4.整数的范围

对于一个字节(8位),可以表达的范围是00000000 — 11111111
其中00000000 ——> 0
11111111 ~ 10000000 ——> -1 ~ -128(从大到小)
00000001 ~ 01111111 ——> 1~127(从小到大)

一个字节,即8个比特,2^8=256.
256表示0;1~ 127 表示 1~ 127; 128~ 255表示 -128~-1。
位 = 比特 = bit = b,在计算机中代表同一种东西;
1字节 = 1byte = 1B = 8位;
1KB = 1024B;
1MB = 1024KB;
1GB = 1024MB.

你可能感兴趣的:(C语言学习,c语言,学习)