Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 浮点64如何存储超过64位的数据?_Java_Go - Fatal编程技术网

Java 浮点64如何存储超过64位的数据?

Java 浮点64如何存储超过64位的数据?,java,go,Java,Go,我被这件事弄糊涂了 上面的意思是变量f有101位,但它如何用64位存储在float64中呢 我用java测试它 double f = (1 << 100) * 0.1; System.out.println(f); 在Java中,1 0x04和1请阅读(wikipedia)是如何存储的。这不是Go特有的。Go中的float64是IEEE-754 64位浮点数。关于信息,请参见。Tks你们两个,我知道了。但一个新问题是,为什么java和go会产生不同的结果?@Goo1 output:

我被这件事弄糊涂了

上面的意思是变量f有101位,但它如何用64位存储在float64中呢

我用java测试它

double f = (1 << 100) * 0.1;
System.out.println(f);

在Java中,
1 0x04
1请阅读(wikipedia)是如何存储的。这不是Go特有的。Go中的float64是IEEE-754 64位浮点数。关于信息,请参见。Tks你们两个,我知道了。但一个新问题是,为什么java和go会产生不同的结果?@Goo
1
output: f : type =  float64  value = 1.2676506002282295e+29
double f = (1 << 100) * 0.1;
System.out.println(f);
output: 1.6