在java中,int类型占四个字节,而byte类型占一个字节

在java中,int类型占四个字节,而byte类型占一个字节。这句话在内存中怎么表示(即是用“0”和“1”来表示)。谢谢!
嗯,两位所说的,我先前也有所了解。······嗯,怎么跟你说呢?譬如吧?int i=1;在内存存蓄中就是以00000001这种形态存蓄的吧?一个字节就8位(bit)了,但那个int不是占四个字节嚒?

不是的,你这是理解错误,也是被混洧了,是初学者最容易犯的错!

int 四字节没错 byte一字节也没错
但一个字节有8位哦!

先看byte,byte占一字节,一字节等于八位
我们来看看一个位能表示多少东西: 最小0 最大1 表示 2的1次方
再看看两个位能表示多少东西: 最小00 最大11 共2的2次方, 能表达四个数
再看看三个位能表示多少东西: 最小000 最大111 共2的3次方,能表达8个数
那八个位能表示多少?
最小:00000000 最大:11111111 这就是8位 也叫一个字节
如果用数没有正负之分那可以表示 0~255 共256个数字. 也可以叫做 2的8次方,你用计算器算算,2的8次方是不是等于256?
如果数有正负之分那可以表示-128~+127 也是256个数,因为8位里面拿走一个位用来表示正负了,所以只能表示最大127

接下来 : 9位 = 2的九次方 =512个数字
接下来: 10位 = 2的十次方 =1024 个 ..... 以此类推

现在知道答案了吧:
1 byte = 1字节 = 8bit 可表达 2的八次方个数字
1 short= 2字节 = 16bit 可表达2的十六次方个数字
1 int = 4字节 = 32bit 可表达2的32次方
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-23
int占4个字节,即表示int类型的存储大小为4个字节。
如果转成十进制来说就是“-2147483648 ~2147483647”
即:int只能存放这么大的数字。。。超出范围则溢出。。。

再来说byte
byte最大能够存放 -128~127 的数值。

那为什么是 -128~127
这个跟字节编码有关
首先知道byte是一个字节保存的,有8个位,也就是8个0、1。
8个位的第一个位是符号位,
也就是说0000 0001代表的是数字1
1000 0000代表的就是-1
所以正数最大位0111 1111,也就是数字127
负数最大为1111 1111,也就是数字-128
第2个回答  2008-12-23
int i=1;
在内存存蓄中就是以00000000 00000000 00000000 00000001这种形态存蓄.
byte j = 1;才00000001.
相似回答