`
supportopensource
  • 浏览: 515518 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于浮点数据的算术运算

 
阅读更多
先看一下程序:
public class Test{
	public static void main(String args[]){
		System.out.println(4.0f - 2.9f); 
		System.out.println(1234f/0);
		System.out.println(-5678f/0);
		System.out.println(1234f%0);
		System.out.println(-5678f%0);
		System.out.println(0.0/0);
		System.out.println(0.0%0);
	}
}

运行结果如下:
1.0999999
Infinity
-Infinity
NaN
NaN
NaN
NaN
为什么会出现这样的结果呢?
4.0f - 2.9f 不是等于1.1吗?除法运算与取余运算除以0时不是会出现异常吗?
原因如下:
(1)浮点运算的结果会与实际的数值有一定的误差。因为浮点数据在进行运算时,计算机算出的是小数点后的n位,与实际的数值会有一定的误会,它只能尽量的接近实际值。
float型数据4.0减去浮点数据2.9的结果,数学计算结果是1.1,但计算机计算出的结果只能尽量地去接近1.1。
(2)在浮点数据的算术运算时,如果进行一个浮点型数据/0或%0的运算时,运行时并不会出错。因为:在Java语言中定义了三个特殊的浮点值来表示浮点数/0或%0的运算时的各种出错情形:
☆ Infinity:正无穷大    (正浮点数/0)
☆ –Infinity:负无穷大   (负浮点数/0)
☆ NaN:Not a Number   (0.0/0或0.0%或正负浮点数%0或负数开平方根)
分享到:
评论

相关推荐

    计算机算术运算实现原理全解.rar

    本pdf文档介绍了计算机算术运算的原理、结构与设计。从简单的各类加减法到各种算法实现的乘法器、除法器,以及一些浮点运算、函数运算等等。深入浅出的解扰各种实现方法,帮你快速入门。作为手头一个全面的查找手册...

    经典书籍《计算机算术运算-原理、结构与设计》

    本pdf文档介绍了计算机算术运算的原理、结构与设计。 从简单的各类加减法到各种算法实现的乘法器、除法器,以及一些浮点运算、函数运算等等。深入浅出的解扰各种实现方法。 主要包含以下四个领域: 基数算术运算,带...

    Vivado—加减乘除算术运算仿真

    Vivado—加减乘除算术运算仿真。

    设计算术单元最重要的是什么?当然是理解浮点运算.rar

    几乎每种语言都有浮点数据类型;从 PC 到超级计算机都有浮点加速器;多数编译器可随时进行编译浮点算法;而且实际上,每种操作系统都必须对浮点异常 (如溢出)作出响应。本文将为您提供一个教程,涉及的方面包含对...

    模拟CPU算术运算的C语言代码

    除了在必要的循环中使用了加法以外,只使用位操作(逻辑与或异或,移位等)模拟CPU的算术运算过程,支持整数与浮点的四则运算,包含字符串与浮点数的转换。

    基于vhdl的浮点运算硬件实现

    vhdl实现浮点运算,极大地扩展了FPGA的运算方位,使得fpga可以同时进行逻辑运算和浮点算术运算

    shell算数运算

    算术运算UNIX shell范例精解。整数运算(declare和let命令) declare命令 可以用declare –i命令定义整型变量。如果给整型变量赋一个字符串值,则bash将把变量赋值为0。可以对已定义的整型变量执行算术运算(如果变量未...

    new07浮点运算与数值运算1

    浮点运算与数值运算的误差北京师范大学物理系 彭芳麟浮点运算的误差数值计算不是使用全部实数,也没有极限与无限等实数概念.使用浮点算术体系(有限精度的有限数集合),

    松下PLC FP 指令说明.xlsx

    所有指令命令,方便编程的时候查询,适用松下的PLC ,包含时序控制基本指令,基本功能指令,控制指令,步进程序指令,子程序指令,中断指令,特殊设置指令,数据比较指令,数据传输指令,BIN算术运算指令,BCD算术...

    Java2入门经典.rar

    混合数据类型的算术运算表达式 显式类型强制转换 赋值语句中的自动类型转换 op=运算符 数学函数和常量 字符的存储 字符转义序列 字符的算术运算 按位运算 使用AND和OR运算符 使用异或运算符 移位运算 按位运算的方法...

    bc命令 浮点运算

    bc的英文全拼为“ Binary Calculator ”,是一种支持任意精度的交互执行的计算器...算术操作高级运算bc命令它可以执行浮点运算和一些高级函数: [root@linuxcool ~]# echo 1.212*3 | bc 3.636 设定小数精度(数值范围)

    java2入门经典.part01

    混合数据类型的算术运算表达式 显式类型强制转换 赋值语句中的自动类型转换 op=运算符 数学函数和常量 字符的存储 字符转义序列 字符的算术运算 按位运算 使用AND和OR运算符 使用异或运算符 移位运算 按位运算的方法...

    jisuanqi.rar_第一浮点影院

    1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘R’返回 菜单。...

    4.9浮点数的表示与算术运算算法1

    1、主程序只供验证,你所须写的就是6个子程序 2、对结果应该进行分析,讨论你的浮点运算适用范围,可能的问题等等 3、验证要有大数、小数,比如:123456789

    快速单精度浮点运算器的设计与实现 (2011年)

    浮点运算单元FPU(Floating-point Unit)在当前CPU的运算中地位越来越重要,...在QUARTUSII 7.1系统上对运算器已仿真成功,结果表明它可以运行在40.5MHz时钟工作频率下,能快速准确地完成各种加、减、乘和除算术运算。

    算数表达式的运算(包含+-*/小数,乘方,)

    算数表达式的运算(包含+-*/小数,乘方)输入表达式以#为结尾。可以运算10以上的浮点型数。也可运算小数。复制到cpp环境运行就可。

    exact-math:精确数学解决了浮点算术运算精度问题

    在本文档中 一种。 b。 C。 d。 一种。 b。 C。 d。...exact-math库是一组用于数学计算的方法,例如:加,减,乘,除,舍入,下限,上限和幂。... 5.55*(7/.33)-2 它适用于大数字和小十进制,并给出精确的结果。...

    fincalc:Npm和Bower模块使用JavaScript中的货币值执行适当的基本算术运算,或者在浮点方案中执行两位十进制精度算术

    Fincalc介绍Fincalc是在JavaScript中使用货币值执行适当的基本算术运算的助手,或者在可以执行两位十进制精度的算术运算。 它还提供了一个实用程序来计算两个值之间的百分比变化。 它可以作为前端的浏览器脚本导入,...

    micromath-嵌入式友好的数学库,具有快速浮点近似值(具有较小的代码大小),适用于常见的算术运算,三角函数,2D / 3D矢量类型,统计分析和四元数。 以精度为代价优化性能和减小代码大小-Rust开发

    嵌入式友好(即no_std)Rust数学库,具有针对常用算术运算,三角函数的快速,安全浮点近似值2嵌入式友好(即no_std)Rust数学库,具有针对常用算术运算,三角函数的快速,安全浮点近似值/ 3D向量类型,统计分析和...

Global site tag (gtag.js) - Google Analytics