0x7fffffff解析 | 您所在的位置:网站首页 › 十六进制32768是什么意思 › 0x7fffffff解析 |
0x7fffffff 表示 int的最大值 0x表示是16进制 7 表示二进制 0111 F 表示二进制 1111 0x7FFFFFFF 就表示 是一个十六进制的int的最大值 也可以表示为二进制的 0111 1111 1111 1111 1111 1111 1111 1111 这是最大的整型数 int(因为第一位是符号位,0 表示他是正数) 每个十六进制数占4个bit(毕竟16进制最大值是15嘛),一个字节占8位。因此0x7ffffff应该理解为: 0x7f ff ff ff ff,也就是占4个字节,也就是一个int类型。 用 INT_MAX 常量可以替代这个值。 int的范围是“-231”到“231-1” 至于这里为什么是2^31-1 ,这里减一的原因是大家回想一下二进制转十进制的转法中:二进制1111转成十进制23+22+21+20 = 15 如果你直接用24得出的数是16(这里的意思是可以有16个数),然而1111最大能表达的十进制整数是15,所以24-1=15,也就说最大的整数是15。所以2^31-1这里是可以表示的最大整数了! 也就是“-2147483648”到“2147483647”; 关于int的范围是“-231”到“231-1”; 可以看看这篇https://blog.csdn.net/shihengli2010/article/details/51821827 与计算 例如: -1 & 0x7fffffff 计算 0111 1111 1111 1111 1111 1111 1111 1111 0x7fffffff 1000 0000 0000 0000 0000 0000 0000 0001 -1 等于 0000 0000 0000 0000 0000 0000 0000 0001 1 |
CopyRight 2018-2019 实验室设备网 版权所有 |