2.1. long 值 按位补零右移32位,此时得到的结果的高32位全部是0,而低32位则是原来的高32位; 2.2. 将 2.1 中得到的结果与 long 值按位异或运算,此时得到的值的高32位与原 long 值的一样,低32位是原 long 值的高32位与低32位异或的结果; 2.3. 将 2.2 中得到的 long 值结果强制转换成 int 型; ...
int是Java整形值得默认数据类型,当代码使用整数赋值或输出时,都默认为int。 2,byte型。 byte型的声明方式与int型相同。二者的区别如上表。 3,short型 short型的声明方式与int型相同。二者区别如上表。 4,long型 long型的取值范围比int型大,属于比int高级的数据类型。所以在赋值的时候要和int做出区分,需要在整数...
1、区别1 16位系统:long是4字节,int是2字节 32位系统:long是4字节,int是4字节 64位系统:long是8字节,int是4字节 2、区别2 long和int的区别就是他们的占位长度不同 其中long是64位、而int是32位 3、区别3 int: 32位整数 -2,147,483,648——2,147,483,647,一般来说整数都够用了 long: 64位整数 -...
long类型用于表示整数,它的范围比int类型更大。long类型的取值范围为-2的63次方到2的63次方-1,即-9,223,372,036,854,775,808到9,223,372,036,854,775,807。long类型占用8个字节,即64位,比int类型多占用了4个字节。在Java中,可以使用L或l后缀来表示long类型的值。 声明和初始化long类型的变量 在Java中,...
两种数据类型的值范围不一样,实质一样,但是如果要实现从long转换为int,可能会产生数据丢失,long占位64 而int占位32,对于精确的超大型数值计算比如天文数据(一般指64位以上的数据运算),一般不会采用基本数据类型,而采用BigDecimal类型的数据进行精确计算。
由上可以看出 byte、short 的取值范围比较小,而long的取值范围最大的,所以占用的空间也是最多的。int 取值范围基本上可以满足我们的日常计算需求了,所以也是我们使用的最多的一个整型类型。 浮点型(float、double) float 和 double 都是表示浮点型的数据类型,它们之间的区别在于精确度的不同。
在Java中,int与long类型比较时,先统一转换为同一类型再进行运算。涉及不同类型间转换,遵循以下规则:若其中一个操作数为double,会将另一操作数转为double;若其中一个为float,另一操作数将转化为float;若其中一个为long,另一操作数会被转换为long;否则,两个操作数皆转换为int类型进行计算。简...
int a = 1;long b = a;int 是可以隐式转为 long 的。而 == 运算符有 (int 左, int 右) ...
首先先说一下,java不分你的机器是32位还是64位的,和平台无关(仅仅和java虚拟机相关)。int是4个字节,long 是8个字节。你问题中的a是long型,b是int型。在计算的时候a*a那么结果会是一个long型,b*b会是一个int型。如果是a*b会是一个long型。至于具体的转型关系我就不再多说了。计算...