我在此站点和其他站点中搜索将 .4 之类的双值转换为二进制,但没有有用的答案!我知道如果数字大于 1,则乘以 2 的过程保存 1 减去它,然后再乘以 2 以此类推。帮我 !
double d = .4 ;
double e ;
while ()
{
e = d*2;
if (e>1) {
s[i]= 1;
e=d-1;
} else {
s[i] = 0;
}
System.out.print(s[i]);
}
Run Code Online (Sandbox Code Playgroud)
使用Double.doubleToRawLongBits(double), 然后Long.toBinaryString(long)在结果上:
double d = 0.4;
System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(d)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2154 次 |
| 最近记录: |