java中数据的范围

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:36:40
java中BYTE型数据占1个字节共八位 他的数据范围是-128~127
是怎么算出来的?-2^7吧?为什么是7次方? 127=2^7-1为什么要减1?

因为0占了一个地盘

这个涉及到原码补码的 原码表示的时候 0有正负 而补码就只有1个0
这让负数比正数多一个
一个字节有八位 但是最高位是符号位只有七位有效数据位
2的六次方连加到2的0次方就等于2^7-1

呃 我觉得你看看计算机编译原理或计算机组成原理吧
看看计算机硬件上的存储器是如何用二进制存储数据的

你这么算是正确的,具体是怎么出来的如下:
二进制01111111是表示byte型的正的最大值,其中0代表是正数,转化成十进制为:2^0+2^1+...+2^6也就是2^7-1
负数的时候就交给你自己算吧