在java中,int类型占四个字节,而byte类型占一个字节
不是的,你这是理解错误,也是被混洧了,是初学者最容易犯的错!
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次方
int占多少字节?
在C/C++语言中,int和long int的所占的字节数与编译器有关。
不过现在常用的编译器多认为int和long int相同,均为4字节,short为2字节,char为1字节。
如果只输入int,它是可以包含以上三种形式。
不同的语言不太一样,例如在Pascal中integer为2字节,byte为1字节,而longint为4字节。
建议您最好参考您的编译器的具体帮助,以得到更准确的信息。
使用前最好sizeof(int) 看看当前编译器如何定义的。
依据程序编译器的不同,int定义的字节数不同。(数据占用内存储器的大小不同)
常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个字节(16位);如果是32位RAM处理器的C语言中,则int代表4个字节(32位)
PIC单片机的PICC中8位系列单片机的C语言里int表示16位。
而不少PC端软件的编译器则会根据操作系统或处理器(如64位XP)把int定义为8字节(64位)
所以在多平台上编程的人员需要在使用时注意。
如需定义16位数,可使用short(短、短整数类型)定义。
扩展资料:
在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。
在之前的微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]。
使用printf输出int占用字节数量:
除了int类型之外,还有short、long、long long类型可以表示整数。
unsigned int 表示无符号整数,数据范围为[0~2^32-1]。
参考链接:INT(数据类型)_百度百科
java int为什么占4个字节,是怎么算的呢?
int是最基本的类型,一般和CPU的字宽一致
为了和CPU的字宽一致,提高处理速度。。。
int占多少个字节是由编译器决定的,ansi标准定义int是占2个字节.
tc是按ansi标准的,它的int是占2个字节的.
你可以在tc里试.printf("%d",sizeof(int));结果是2;
但是在vc里,一个int是占4个字节的,在vc里面,
printf("%d",sizeof(int));
cout<
不同的编译器,规定也不一样.
float,double也是一样的,在不同的编译器里,占的字节是不一样的.
为什么int类型只能存储4个字节?它的值最大不是2147683647吗?难道每个数字不等于一个字节吗?
int只能存储4个字节这是微软规定好的,一个字节(byte)等于8位bit,因为计算机只认识0和1,所以一个字节的长度为2的八次方,4个字节就是2的32次方 所以最大值为2的32次方-1=4294967295
java 中Int 与byte的区别
主要是存储空间的大小和取值范围不同。
byte占用1个字节存储空间,取值范围-128~127
int占用4个字节存储空间,取值范围-2的31次方~2的31次方-1