基本数据类型有关问题
基本数据类型问题请问static double f 0x11e30System.out.println(double +f)为什么会打印出double
基本数据类型问题
请问static double f = 0x11e30;
System.out.println("double "+f);
为什么会打印出double 73264.0
[解决办法]
因为你System.out.println("double "+f); 是要打印出10进制的,而static double f = 0x11e30;
是16进制的需要转换成10进制
[解决办法]
0x11e30 的10进制就是73264.
static double f=0x11e30;
相当于:
static double f =73264;
[解决办法]
11e30不就是73264么
[解决办法]
[解决办法]因为:static double f = 0x11e30; 这里f所赋予的值是:16进制的,
但是在Java打印一个数的时候,基本上都是按照10进制的进行打印,因此:你所以打印出来的数据是73264.0。
所以你不用担心咯!如果有兴趣的话,推荐你研究一下!找本JVM书来看!就会慢慢明白的!
[解决办法]感觉以上都没回答楼主的问题
楼主应该是想要0x11e30转换为10进制算法
也就是73264.0是怎么根据0x11e30算来的
如果不是当我什么都没说
每天回帖可得十分可用分 路过
[解决办法]0x11e30中0x代表16进制数后边11e30就是16进制数的具体值
所以0x11e30 = 1 * 16^4 + 1* 16^3 + 14 * 16^2 + 3*16^1 + 0 * 16^0 = 73264
在16进制中 0-9就表示0-9, a 表示10, b表是11, c表示12, d表示13, e表示14, f表示15
这里的e不是表示10的几次方的意思
[解决办法]