- 浏览: 521999 次
- 性别:
- 来自: 杭州
-
文章分类
- 全部博客 (114)
- C基础 (1)
- C指针 (0)
- C语言库函数相关 (1)
- Linux (2)
- Linux网络编程 (1)
- PostgreSQL (0)
- Redis (2)
- Java Web (2)
- JAVA基础 (35)
- Ubuntu (8)
- Android (2)
- MySQL (3)
- 日志 (1)
- 书虫 (1)
- 数据结构 (0)
- 算法 (0)
- 开发工具 (1)
- 转载 (13)
- 英语 (18)
- tomcat启动脚本分析 (3)
- Oracle基础 (4)
- tomcat源码分析 (3)
- tomcat (1)
- Java相关 (1)
- Oracle基本原理--Oracle体系结构 (0)
- Oracle基本原理--表 (0)
- Oracle基本原理--索引 (0)
- Oracle基本原理--事务 (0)
- Oracle开发--SQL (1)
- Oracle基本原理--PL/SQL (0)
- Oracle基本原理--常用函数 (0)
- Oralce管理--用户及权限管理 (0)
- Oracle管理--安装调试 (0)
- Oracle管理--备份恢复 (0)
- Oralce管理--数据迁移 (0)
- Oracle管理--闪回 (0)
- Oracle管理--故障处理 (0)
- Oracle优化原理--统计信息 (0)
- Oracle优化原理--执行计划 (0)
- Oracle优化原理--诊断工具 (0)
- Oracle优化原理--深入理解表 (0)
- Oracle优化原理--深入理解索引 (0)
- Oracle优化原理--表连接原理 (0)
- Java--OOP (0)
- Java--异常 (0)
- Java--泛型 (0)
- Java--集合 (0)
- Java--IO (0)
- Java--枚举类型 (0)
- Java--注释 (0)
- Java--多线程 (0)
- Java--XML (0)
- Java--JDBC (3)
- Servlet (0)
- JSP (0)
- JSTL (0)
- 设计模式 (0)
- DAO与MVC (0)
- Javascript (2)
- Ajax (0)
- JQuery (0)
- HTML/CSS (0)
- 前端相关 (1)
- HTTP (0)
- TCP/IP (0)
- GO基础 (0)
最新评论
-
jsonmong:
推荐一个开发平台,采用的是插件化的设计思想,效果很不错的。ht ...
构建Java Web开发环境 -
wxm198427:
首先表示辛苦了!我想问个问题:我的是windows 7 x64 ...
Oracle 11g R2 for Win7旗舰版(64位)的安装步骤 -
握着橄榄枝的人:
我之前按照你的update mysql.user set pa ...
Windows7下MySQL5.5.20免安装版的配置 -
confident_f:
安装了32的客户端后,用plsql导入导出表有问题,生成不了d ...
Oracle 11g R2 for Win7旗舰版(64位)的安装步骤 -
confident_f:
安装数据库的时候第9步卡住了 是怎么回事呢?
Oracle 11g R2 for Win7旗舰版(64位)的安装步骤
先看一下程序:
运行结果如下:
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或负数开平方根)
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或负数开平方根)
发表评论
-
foreach循环
2013-06-24 16:15 1497从JDK1.5开始,Java提供了一个更简单的循环:forea ... -
可变参数
2013-06-24 15:38 1225从JDK1.5开始,Java允许使用可变参数为方法指定数量不确 ... -
泛型(core java 笔记)
2013-06-18 16:18 20741.为什么引入泛型 package generic; ... -
两个程序的说明
2010-10-19 09:26 11671、程序1的结果是: clas ... -
构造器初始化
2010-10-18 14:42 1535可以用构造器来进行初始化。在运行时刻,可以调用方法或执行某些动 ... -
成员初始化
2010-10-18 07:55 1247Java尽力保证:所有变量在使用前都能得到恰当的初始化。 对 ... -
线程的死锁
2010-10-11 19:21 1524当两个线程相互等待对方释放同步监视器时就会发生死锁,Java虚 ... -
线程的同步
2010-10-11 19:00 1290一个经典的关于线程安全性的问题:银行取钱问题。 银行取钱的基 ... -
java网站收集
2010-10-10 18:13 1295JAVA开发者最常去的25个英文网站:http://www.i ... -
控制线程
2010-10-10 16:06 20271、线程睡眠:sleep 如果我们需要让当前正在执行的线程暂 ... -
线程的状态
2010-09-28 19:00 1078线程从创建到执行完毕的整个过程称为线程的生命周期,在整个生命周 ... -
Java中Thread类的start()和run()的区别
2010-09-27 15:33 41391、start()方法来启动线程,真正实现了多线程运行,这时无 ... -
Java中创建线程的两种方法
2010-09-26 10:18 5648在Java中创建线程有两种方法:继承Thread类和实现Run ... -
创建String对象过程的内存分配小结
2010-09-23 20:32 2796常量池(Constant Pool):指的是在编译期被确定,并 ... -
Java堆和栈的区别 经典总结(转载)
2010-09-18 16:48 1289栈与堆都是Java用来在Ram中存放数据的地方。 与C++不 ... -
Java初学者都必须理解的七大问题
2010-09-18 10:36 1134问题一:我声明了什么 ... -
关于计算java程序运行时间(转载)
2010-09-18 09:22 1136//第一种,伪代码 long startTime= ... -
for循环的优化
2010-09-17 20:29 2159在程序中经常用到for循环,当一些算法实时性要求非常高时,对f ... -
详细解析Java中抽象类和接口的区别(转载)
2010-09-17 10:16 1127在Java语言中,abstract class和inter ... -
集合类(四):Map集合
2010-09-16 20:26 21555、Map集合 Map集合为映射类型,映射与集和列表有明显的区 ...
相关推荐
在数字信号处理(DSP)领域,基本算术运算扮演着至关重要的角色,因为它们是所有复杂算法的基础。本文将深入探讨在CCS2000(Code Composer Studio)环境下进行这些基本运算的方法,并通过实际的实验报告和代码来增强...
本pdf文档介绍了计算机算术运算的原理、结构与设计。从简单的各类加减法到各种算法实现的乘法器、除法器,以及一些浮点运算、函数运算等等。深入浅出的解扰各种实现方法,帮你快速入门。作为手头一个全面的查找手册...
第13讲的内容虽然没有给出具体细节,但从上下文可以推测,可能涵盖了更高级的算术运算指令,或者是对前面讨论的算术运算类指令的扩展应用,如乘法、除法指令,或者与浮点运算相关的指令,这些指令在处理复杂数学问题...
因此,将算术运算实现为汇编版本,能够使易语言处理数据时达到更高的性能。 算术运算在计算机科学中是最基本的操作,包括加法、减法、乘法、除法以及各种高级运算,如指数、对数、平方根等。在易语言中,这些运算被...
1. **利用位操作**:在C语言中,位操作通常比其他算术运算更快,因此在处理指数和尾数时可以尽量使用位运算。 2. **减少浮点转换次数**:频繁的浮点转换可能会增加计算开销,尽可能在半精度范围内完成计算。 3. **...
在C#编程语言中,算术运算、变量和数组操作是基础且至关重要的概念,对于任何初学者或经验丰富的开发者来说,理解并熟练掌握这些概念是编写高效代码的关键。以下是对这些主题的详细阐述: 一、算术运算 C#支持多种...
### C高级语言程序设计:算术运算与逻辑运算 #### 运算符概述 C语言提供了多种运算符来处理各种计算需求,主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、逗号运算符、指针运算符...
本教程将聚焦于Vivado中的加减乘除算术运算仿真,这对于理解和实现数字电路系统至关重要。 首先,我们需要了解Vivado的工作流程。它通常包括以下几个步骤: 1. **项目创建**:在Vivado环境中,首先需要创建一个新...
【浮点转定点运算在DSP中的应用】 ...总结来说,浮点转定点运算在DSP编程中是一个重要的环节,涉及到数据格式的转换、精度控制和硬件优化等多个方面。通过具体实例和编程经验分享,可以更好地理解和实践这一过程。
标题"3-05 算术运算类指令.zip"暗示了这是一个关于这个主题的资料集合,可能包含详细的讲解和实例。 算术运算类指令主要包括加法、减法、乘法、除法以及各种提升的算术运算,如取模、平方根等。这些指令直接在CPU...
几乎每种语言都有浮点数据类型;从 PC 到超级计算机都有浮点加速器;多数编译器可随时进行编译浮点算法;而且实际上,每种操作系统都必须对浮点异常 (如溢出)作出响应。本文将为您提供一个教程,涉及的方面包含对...
1. **数据类型与运算符**:易语言中的算术运算涉及到多种数据类型,如整型、浮点型等。在汇编层面,这需要考虑不同类型的数据在内存中的表示和转换,以及对应的运算指令。例如,对于整数运算,可能使用ADD(加法)、...
在本文中,我们将深入探讨如何使用C语言通过位操作来模拟CPU的算术运算过程。这一技术对于理解计算机底层工作原理、优化代码性能以及在没有现成库函数可用时实现自定义运算非常有用。 首先,我们要知道CPU进行算术...
在C#中,算术运算是一项基本操作,它涵盖了加法、减法、乘法、除法以及整数和浮点数的提升。本文将深入探讨C#中的算术运算及其在.NET框架中的实现。 首先,我们有基本的算术运算符,包括: 1. 加法(+):用于将两...
首先,双精度浮点数表示标准是IEEE754标准,该标准为二进制浮点数的算术运算定义了格式和规则。在IEEE754标准中,双精度浮点数占用64位:1位符号位、11位阶码(用移码表示)、52位尾数(用原码表示)。双精度浮点数...
在Verilog中实现这样的浮点运算器,涉及到硬件描述语言的基础知识、浮点数表示法、算术逻辑单元(ALU)设计、以及测试激励的编写。 首先,浮点数在计算机中通常遵循国际标准如IEEE 754,该标准定义了浮点数的二进制...
浮点运算是一个复杂的过程,涉及到数值表示、算术运算、规格化、舍入和溢出检查等多个环节。对于软件开发者而言,掌握这些细节是编写高效且精确数值计算代码的基础。在高性能计算和数值稳定性要求较高的环境下,对...
还有半溢出或借位标志,它们对于处理复杂算术运算(如乘法和除法)的中间步骤非常有用。 在实际的实验中,可能需要设计和搭建一个8位ALU的电路模型,这可能涉及使用逻辑门(如AND、OR、NOT和XOR门)以及触发器等...
vhdl实现浮点运算,极大地扩展了FPGA的运算方位,使得fpga可以同时进行逻辑运算和浮点算术运算
### VB.NET初学者系列——算术运算符号 在学习任何编程语言时,理解其基本的算术运算符号是非常重要的一步。对于VB.NET这样的语言来说,掌握这些基础操作可以帮助开发者更高效地编写代码,并且能够更好地理解和调试...