java - Java 中的浮点转换

标签 java casting floating-point

整数的转换非常简单,多余的位就会消失。

但是,了解类型转换浮点的幕后情况是否重要?我尝试阅读有关如何计算浮点的信息,但我尚未找到可以很好解释的信息。至少这是我的借口。虽然尾数的计算有点困难,但我明白了基本的想法。

至少到Java 7,我知道 float 不能用于按位运算。这是有道理的,因为它们是如何内部存储的。关于浮点如何运算或转换,有什么重要的事情需要了解吗?

所以,总结一下:

了解浮点(如整数)的内部工作原理很重要吗?

将 float 转换为整数的内部过程是什么?

最佳答案

What is the internal process of casting a floating point to an integer?

Java 调用符合 IEEE-754 标准的机器代码指令。 Java 没有什么可做的。如果您想了解类型转换的工作原理,我建议您阅读该标准。

基本上,尾数被移动指数并应用符号。即 float 是符号 * 2^指数 * 尾数,它所做的就是执行此计算并删除小数部分。

关于java - Java 中的浮点转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24853428/

相关文章:

ruby - 在不安装额外的 gem 的情况下进行 float 划分?

java - 使用 iText : form values not visible PdfCopy 和表单值

java - 在运行 hadoop 分布式模式时一直失败

java - 当 2 个类被转换时,什么会被类型转换?是物体吗?

c++ - 为什么将子指针向上转换为基类有时会更改指针值?

c - 在 C 中翻转 double /浮点符号的最快方法

c - 这个单精度运算的结果是如何四舍五入的? [或者为什么这个位是 1 而不是 0?]

java - 使用 Ksoap2 从 Android 中的 Web 服务获取响应 header

java - 在 try-with-resource 中手动关闭

c# - 如何将对象转换为 Type 类描述的类型?