我是靠谱客的博主 跳跃胡萝卜,这篇文章主要介绍原码、反码、补码、byte类型的127+1和-128,现在分享给大家,希望可以做个参考。

1、原码

正数:正数的原码就是本身二进制,最高位是0
负数:负数的原码就是对应正数的二进制,最高位变成1

byte类型的10
原码:0000 1010
byte类型的-10
原码:1000 1010

2、反码

正数:正数的反码和原码相同
负数:负数的反码是原码最高位不变,其他位按位取反

byte类型的10
原码:0000 1010
反码:0000 1010
byte类型的-10
原码:1000 1010
反码:1111 0101

3、补码

正数:正数的补码和原码相同
负数:负数的补码是负数反码+1

byte类型的10
原码:0000 1010
反码:0000 1010
补码:0000 1010
byte类型的-10
原码:1000 1010
反码:1111 0101
补码:1111 0110

4、byte类型的127+1和-128

byte占一字节8位,表示范围是-128~127

127+1其实已经数据溢出了,但是通过强制类型转换可以得到1000 0000,也就是-128
为什么-128是1000 0000呢?

这里要说到8位表示范围是256个数字,但是要表示正负,所以实际表示范围其实是-128~127,这里0算作正数处理。

但是还有一个问题,最高位是当作符号位使用,并不参加数值的表示,那怎么表示-128呢?

我们数字都有正负,这里的0也不例外,存在+0和-0,我们把+0当作我们平时认知的0,而-0就当作-128了,这样又可以表示-128,又解决了最高位的符号位问题。

最后

以上就是跳跃胡萝卜最近收集整理的关于原码、反码、补码、byte类型的127+1和-128的全部内容,更多相关原码、反码、补码、byte类型内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(125)

评论列表共有 0 条评论

立即
投稿
返回
顶部