二进制小数和IEEE浮点标准】的更多相关文章

整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题.但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这时候浮点数就产生了. 在 20世纪80年代以前,每个计算机厂商都设计了自己表示浮点数的规则,以及对浮点数执行运算的细节,这对于应用程序在不同机器上的移植造成了巨大的困难.而在这之后,也就是 1985年左右,IEEE 标准产生了,这是一个仔细制定的表示浮点数及其运算的标准,现在的计算机浮点数也都是采用这个标准. 浮点数不…
二进制小数 首先复习进位计数制的要素: 数码:用来表示进制数的元素.比如 二进制数的数码为:0,1 十进制数的数码为:0,1,2,3,4,5,6,7,8,9 十六进制数的数码为:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 基数:数码的个数.比如 二进制数的基数为2 十进制数的基数为10 十六进制数的基数为 16 位权:数制中每一固定位置对应的单位值称为位权. 二进制第2位的位权为\(2^1\),第3位的位权为\(2^2\):\((10010.1110)_2 = 1 * 2^4…
1.二进制小数 前面这篇博客 进制间的转换  我们已经讲过了各个进制数的表示.现在我们复习一下: 进位计数制的要素: ①.数码:用来表示进制数的元素.比如二进制数的数码为:0,1.十进制数的数码为:0,1,2,3,4,5,6,7,8,9.十六进制数的数码为:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ②.基数:数码的个数.比如二进制数的基数为2.十进制数的基数为10.十六进制数的基数为 16. ③.位权:数制中每一固定位置对应的单位值称为位权.例如十进制第2位的位权为101即…
原文地址:http://www.math.byu.edu/~schow/work/IEEEFloatingPoint.htm Floating point system Floating point arithmetic 浮点型标准是什么? IEEE浮点标准是上世纪80年代初由IEEE采用的一个浮点计算系统. 计算机采用IEEE浮点标准的要求: 1.正确计算舍入: 2.浮点数应该被计算机正确表示: 3.异常处理应该是明确一致的. 引用:见顶部 浮点数表示法 32位机的单精度数: 32位机的单精度…
2.6我们进行了二进制整数运算的最后一役,本次LZ将和各位一起进入浮点数的世界,这里没有无符号,没有补码,但是有各种各样的惊奇.倘若你真正的进入了浮点数的世界,一定会发现它原来是这么有意思,而不是像之前一样,觉得了解浮点数的内容没什么用,只要会简单的使用就行了.当然,这其中也可能有部分猿友是觉得这部分内容太难,而对它失去了学习的兴趣. 就像之前的LZ一样,曾经对IEEE标准望而却步,不过相信这几章浮点数的介绍会让你有种顿悟的感觉.倘若你有了这样的感觉,也不要忘了“点个推荐哦.” 引言 整数运算虽…
前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题.这一点其实在我们平时的计算当中会经常出现,就比如之前我们提到过的0.3,它就是无法用浮点小数准确表示的. 为此LZ专门写了一个小程序,使用Java语言打印出了0.3的二进制表示,是这样的一个数字,0 01111101 00110011001100110011010.我们来简单算一下,这个数值大约是…
CSAPP:信息的表和处理2 关键点:浮点数.浮点数运算. 二进制小数IEEE浮点数表示浮点数转换(单精度)参考 二进制小数   形如表示的二进制数,其中每个位的取值范围位0和1.这种表示方式的定义如下:  符号.变为二进制点,点的左边的位的权是2的正幂,右边的位的权是2的负幂.例如.  小数的二进制表示法只能表示那些能够被写成的数,其他的数值只能近似的表示,增加二进制的长度可以提高表示的精度. IEEE浮点数表示   IEEE浮点标准用的形式来表示一个数: 符号(sign)s,决定正负,1表示…
回想起刚学C语言时,我对浮点数的印象大概是"能够表示小数"的数据类型.还死记硬背过例如什么"小数用double存,用%f输出"这类的话.实际上呢,浮点数可以用这么一个公式来概括: \[ \sum_{k=-j}^i b_k×2^k\] 除了我们所熟知的,表示小数之外,它对执行涉及非常大的数字.非常接近于0的数字,以及更普遍地作为对实数运算的结果的近似值,是非常有用的. 以下摘取一些书本中的内容: 20世界80年代,每个计算机制造商都指定了自己的表示浮点数的规则,以及对…
一.二进制小数 十进制小数: 12.3410 == 1 * 101 + 2 * 100 + 3 * 10-1 + 4 * 10-2 = 12(34/100) (可能很多人还不知道怎么计算一个数的负幂,这里给大家一个方法:一个数的负的X次方等于这个数的X次方分之一,比如2-2 = 0.25 = 1/2*2 = 1/4,现在明白不?) 二进制小数:101.11 == 1 * 22 + 0 * 21 + 1 * 20 + 1 * 2-1 + 1 * 2-2 = 4 + 0 + 1 + 1/2 + 1/…
目录 第2章 信息的表示和处理 2.1 信息存储 2.1.1 十六进制 一.表示法 二.加减 三.进制转换 2.1.2 字 2.1.3 数据大小 2.1.4 字节顺序与表示 一.字节的排列规则 二.打印字节 三.字符串的字节表示 四.代码表示 2.1.5 位级预算 一.布尔运算 二.掩码运算 三.移位运算 2.2 整数表示 2.2.1 整型数据类型 2.2.2 编码方式 一.无符号编码 二.补码编码(有符号) 三.有符号数的其他表示方法 三.有无符号数的转换 四.位的扩展 五.数的截断 2.2.…