Java
兰亭古墨
这个作者很懒,什么都没留下…
展开
-
java 中 byte a = 1; a += 1和 a = a + 1 有什么区别?
因为 1 默认是 int 类型 byte + init 类型会隐私转换为 int 类型,将 int 类型直接分配给 byte 类型就会报错。原创 2022-10-22 21:48:52 · 732 阅读 · 0 评论 -
java 中 byte 溢出详解,为什么 byte 130 结果为 -126
在 java 中 byte 130 的 130 默认是 int 类型(十进制),int 类型占用 4 个字节。就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。在计算机中所有的数据都是以补码的形式出现。所以求出截取后的数据的补码即可。正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。通过截取后的结果可以看到,符号位(最高位)为 1,说明这是一个负数。正数的补码与其原码相同;负数的补码是在其反码的末位加1。最高位为符号位,为 1,代表负数。原创 2022-10-22 21:21:34 · 1063 阅读 · 0 评论