一直搞不懂Java语言中的八种基本数据类型大小和范围是怎么理解的,请会的大神分析一下,

一直搞不懂Java语言中的八种基本数据类型大小和范围是怎么理解的,请会的大神分析一下,比如说byte 大小8 范围【-128,127】,为什么是这样子的呢

很好理解的
byte占一个字节,即8位,也就是8个0或1,符号(正负号)又要占一位,0000 0001代表的是数字1,1000 0000代表的就是-1
,所以正数最大位0111 1111,也就是数字127, 负数最大为1111 1111,也就是数字-128追答

很好理解的
byte占一个字节,即8位,也就是8个0或1,符号(正负号)又要占一位,0000 0001代表的是数字1,1000 0000代表的就是-1
,所以正数最大位0111 1111,也就是数字127, 负数最大为1111 1111,也就是数字-128

追问

还是没有办法理解,能再详细一点吗

追答

这已经是最基础的原理讲解了,没办法再细了
至于你说为什么byte是8位,int是32位,这就是人为定的,就好比穿上身的叫衣服,穿下身的叫裤子一样

追问

懂了,Thank you so mcuh

追答

计算机里所有数据都是二进制存储的,也就是都是0和1
对于byte,为了区分正数和负数,就必须用一位(最高位)来表示正负数

最高位为1就表示是负数,1000 0000代表的就是-1

至于补码,比较长,你搜一下相关资料看吧

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-14
肯定有份艰苦的过程。.,我适应了好长的时间,利弊两说,弊端是熟悉面向过程开发的程序员再接触面向对象c语言高强度锻炼了你的程序逻辑能力,当然你c语言得学好,你说对java和c#有没有好处,我从自身角度出发
相似回答