java byte 类型的范围解释l

原创 2015年07月10日 00:50:40

1.  java  byte 类型的范围

    计算机中数据存储采用二进制 ,拿byte 为例  0000 0001  

    最左边的0 计算机认为这个数字0000 0001   为正数 转化为10进制 -->1;

    byte 1000 0000 计算机认为这个数字为 负数 ,最左边的1 来识别。

     负数存储在计算机中转换 以-128 为例子 是绝对值128 的反码+1  ,把128 转化为2进制 1000 0000  反码-->0111 1111  加1--->1000 0000。

     之前有个困惑 一直说byte 的范围是-128  -128   ,-128 在计算机中转换为 原码的2进制为 1000 0000 这个不是负数码,这个是我们要纯属到计算机中的值 和正负无关 ,只是个     值(脑子有点呆了)。 

    补码 -1  的反码=补码的反码+1 ,为什么呢 ,这个问题 害的我浪费了一张纸 ,一个补码它可能有 01  ,10,  11 情况(无0000 0000)  然后减 1   加过之后变为 00 ,01 ,10 ,反      码 就变为 11, 10 ,01。 来看补码的反码+1 ,反码 10,01,00 -->+1 -->11,10,01  一样。

    这个不是最有趣的,有趣的是  补码+1的反码 是够等于 补码的反码-1 呢? 一个补码它可能有01,10,11 然后加1--> 10,11,100-->反码 --> 01,00,011。

     补码的反码-1 一个补码可能是01,10,11 然后反码-->10,01,00-->减一--> 01,00,? 到这里就推不下去了。

    正常的想法是补码-1 的反码 等于 补码的反码+1  -->01,10,11-->00,01,10-->11,10,01。

       -->01,10,11-->10,01,00-->11,10,01  这个就成立了,为什么会出现上面无法算下去的情况呢 应该  补码的反码 可能是 0000 0000 所以这个就没法算了。

     

    

相关文章推荐

为什么Java中byte类型的取值范围是-128~127

byte 长度是1字节,也就是8位,八位二进制数转换为十进制最大值是多少?是255。 如果是unsigned byte 那么取值范围就是 0-255,而Java中的byte是有符号位的,第一位表示正...

为什么Java byte 类型的取值范围是-128~127

概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ,然 后 对 整个数 加 1步骤:1.确定byte是1个字节,也就是8位2.最大的应该是0111 1111,因为第一位是符号位,0表示...

Java中,为什么byte类型的取值范围为-128~127?

在学习Java基础语法的时候,初学者的我们可能都会有这么一个疑问为什么byte类型的取值范围为什么是[-128,127]而不是[-127,127]。01111111表示最大的数值:127,因为第一位是...

为什么Java byte 类型的取值范围是-128~127

概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ,然 后 对 整个数 加 1 步骤: 1.确定byte是1个字节,也就是8位 2.最大的应该是0111 ...

java学习总结(16.05.17)对数据类型取值范围和数据溢出的理解(以byte类型为例)

阅读本文前请务必先将原信息码,的反码,补码弄懂 首先,数据类型的储存范围满足这样一条式子:-2^(n-1)~2^(n-1)-1,其中n是该数据类型在内存中所占位数,如byte类型在内存中占用一个字节即...

C#基础蛋疼到爆的Byte类型表数范围之网兜毛衣见解……

其实写这篇对Byte类型表数范围的文章,真的是蛋疼+蛋疼+蛋疼,每每看到Byte表数范围这一块,都对-128如此的陌生与迷茫,操蛋的Byte,操蛋的人生…… 熊孩子出场:Byte 恶作剧结果:表数范围...

C语言中,打印数据类型的取值范围l的两种方法

C语言中,有很多种数据类型,比如int, char, unsigned char等等,因为不同的机器,其对应的范围可能不同,当然最简单的办法就是查对应机器的资料,当然下面提供另外两种不同的方法。 n...

java中基本数据类型的取值范围

  • 2012年12月26日 23:58
  • 31KB
  • 下载

Java中byte类型变量做& 0xff运算的理解

Java中byte类型变量做& 0xff运算的理解 在IO字符操作或加密计算时经常会见到byte值与0xff做与运算,这种写法首次看到会有些不解,其实也比较容易理解。下面说下我个人的理解...
  • Deveper
  • Deveper
  • 2016年09月02日 13:01
  • 762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java byte 类型的范围解释l
举报原因:
原因补充:

(最多只允许输入30个字)