快捷搜索:  汽车  科技

c语言中int和float类型的大小:C语言中INT数据类型的最小值和最大值

c语言中int和float类型的大小:C语言中INT数据类型的最小值和最大值EXCEL复合结果2 147 483 647,转化为二进制 0111 1111 1111 1111 1111 1111 1111 11112 147 483 647=230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20其最小值(负数)绝对值与最大值(正数)的绝对值不相等,最小值的绝对值比最大值的绝对值大1.

INT数据类型的最小值:

-2 147 483 648,转化成二进制1000 0000 0000 0000 0000 0000 0000 0000

第一位1即时符号位,也是数值位,231=2 147 483 648

INT数据类型的最大值

2 147 483 647,转化为二进制 0111 1111 1111 1111 1111 1111 1111 1111

2 147 483 647=230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20

其最小值(负数)绝对值与最大值(正数)的绝对值不相等,最小值的绝对值比最大值的绝对值大1.

EXCEL复合结果



c语言中int和float类型的大小:C语言中INT数据类型的最小值和最大值(1)

补码要点:

在计算机系统中,数字都是以二进制补码形式进行存储的。

正数的原码、反码、补码保持一致。

负数原码,第一位为符号位。(0表示正数,1表示负数)

反码:符号位不变,后续各位取反。

补码:符号位不变,在反码的基础上加1(最后一位)。

几个特殊的补码:

0的补码: 0000 0000 0000 0000 0000 0000 0000 0000

-0 的补码:

c语言中int和float类型的大小:C语言中INT数据类型的最小值和最大值(2)

即 0,-0的值在计算机系统是一致的。

0取反的结果:

c语言中int和float类型的大小:C语言中INT数据类型的最小值和最大值(3)

即-1

按位移动:

以下是在GCC下验证的结果,不同的编译器结果可能不一样

按位左移:对于有符号数,符号位保持不变,其它位是逻辑左移。对于无符号数,所有位都是逻辑左移。

按位右移:对于有符号数,符号位保持不变,其它位是逻辑左移。对于无符号数,所有位都是逻辑左移

c语言中int和float类型的大小:C语言中INT数据类型的最小值和最大值(4)

十进制输出:-5

猜您喜欢: