请教两个小问题! 1,long型在内存中占8个字节,float占4个字节, 为什么long x=2; float y=x; 成立?8个字节可以赋值给4个字节吗?而且还没有强制转化?2,^异或逻辑运算符的用法,哪位老兄可以写个例子体现出异或的特点和用法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (1)long到float,不会损失数值的大小。只会损失精度。(2)比如byte a = 5;byte b = 6;由于5的二进制是:00000101,6的二进制是:00000110。按位异或(每一位的结果相同为0,不同为1)的结果是: 00000101^ 00000110---------- 00000011所以 a ^ b == 3。 ^异或不是逻辑运算符, 是位运算符(bitwise operator). long x=2; float y=x;事实上float表示数的范围比long大多了。而且上述语句是做过转化的,只不过是自动转化。下面是数据类型由低到高的转化关系:byte,short,char --> int --> long --> float --> doublelong的表示范围:-2(63)---2(63)-1 而float : 3.4e(-038)---3.4e(+038) 谁能解释清楚abstract方法为什么不能同时是... 请教,高性能批量修改文件。 如何使用数据源? Class.forName(aa).newInstance 这样加载一个实现类,如果这个实现类有多个构造函数,是否都会调用呢? null和""这两个有什么区别啊? 如何读LDIF文件 java新手 关于static块的问题 有没有可操作excel形状的java工具类库 萌新初学java按本站java11下载技术贴 出错了 我上图懂的帮忙看下 关键字:hibernate中的datetime日期如何比较 问个关于apache的poi操作excel的问题,谢谢
(2)比如
byte a = 5;
byte b = 6;
由于5的二进制是:00000101,6的二进制是:00000110。
按位异或(每一位的结果相同为0,不同为1)的结果是:
00000101
^ 00000110
----------
00000011
所以 a ^ b == 3。
事实上float表示数的范围比long大多了。而且上述语句是做过转化的,只不过是自动转化。
下面是数据类型由低到高的转化关系:
byte,short,char --> int --> long --> float --> doublelong的表示范围:-2(63)---2(63)-1 而float : 3.4e(-038)---3.4e(+038)