对于规格化二进制浮点示法而言,有效数位的第1位必定是1而不是0,因此IEEE 754规定:实际有效数位中的第1位被省去,因而,有效数位中默计含有1位。
除了将指数安排在有效数位前面,还不足以快速比较两个浮点数的大小,例如1.0 × 2 -1 在计算机中表示为:0 11111111 00000000000000000000000。
这个数相当于整数的 0x7F800000,1.0 × 2 1 在计算机中表示为:0 00000001 00000000000000000000000,这个数相当于整数的 0x00800000。
扩展资料:
注意事项:
计算机处理信息的最小单位——位,就相当于二进制中的一位。位的英文 bit 是二进制数位(binary digit)的缩写。
二进制数的位数一般是8位,16位、32位……也就是8的倍数,这是因为计算机所处理的信息的基本单位是 8位二进制数。8位二进制数被称为一个字节。字节是最基本的信息计量单位。位是最小单位,字节是基本单位。
程序中,即使是用十进制数和文字等记述信息,在编译后也会转换成二进制数的值,所以程序运行时计算机内部处理的也是用二进制数表示的信息。
参考资料来源:百度百科-计算机
参考资料来源:百度百科-小数
参考资料来源:百度百科-二进制
计算机中信息的表示
1.3.1 数制
1、数制的基本概念及常用数制
什么是数制?简单地说,数制就是用一组固定的数码和一套统一的规则来表示数值的方法。
在一种数制中所使用的数码的个数称为该数制的基数。
既然有不同的数制,那么在给出一个数时就必须指明它属于哪一种数制。不同数制中的数可以用下标或后缀来标识。
各种数制有一个共同的特点,即在一个数中,同一个数码处于不同位置则表示不同的值。我们把基数的某次幂称为位权。
计算机领域中常用的数制有四种:即十进制、二进制、八进制和十六进制。
2、不同数制间的相互转换
(1)、非十进制数转换成十进制数
非十进制数转换成十进制数的方法是将非十进制数按权展开求和。
(2)、十进制数转换成非十进制数
十进制数转换成非十进制数的方法是:整数之间的转换用“除基取余法”;小数之间的转换用“乘基取整法”
(3)、非十进制数之间的相互转换
1位八进制数对应3位二进制数,而1位十六进制数对应4位二进制数。因此,二进制数与八进制数之间、二进制数与十六进制数之间的相互转换十分容易。
八进制数转换成二进制数的方法是:将每一位八进制数直接写成相应的3位二进制数即可。反之,二进制数转换成八进制数的方法是:以小数点为界,向左或向右将每3位二进制数分成一组,若不足3位,则用0补足3位。然后,将每一组二进制数直接写成相应的1位八进制数。
十六进制数转换成二进制数的方法是:将每一位十六进制数直接写成相应的4位二进制数。而二进制数转换成十六进制数的方法则是:以小数点为界,向左或向右将每4位二进制数分成一组,若不足4位,则用0补足4位。然后,将每一组二进制数直接写成相应的1位十六进制数。
1.3.2 数值数据在计算机中的表示及运算
数据可分为两大类:数值数据和非数值数据。前者表示数量的多少;后者表示字符、汉字、图形、图像、声音等,又称符号数据。在计算机内,无论哪一种数据,都以二进制形式表示。其原因是二进制具有许多优点,现列举如下:
可行性、简易性、逻辑型和可靠性。
此外,二进制数与十进制数之间的转换很容易实现。人们使用计算机时可以仍然使用自己所熟悉的十进制数,而计算机将其自动转换成二进制数进行存储和处理。计算机输出计算或处理结果时又将二进制数自动转换成十进制数,这给工作带来极大的方便。
1、数据的单位
计算机中数据的单位有:位、字节和字。
2、正负数的表示
在计算机内,通常把1个二进制数的最高位定义为符号位,用“0”表示正数,“1”表示负数;其余位表示数值。我们把这种正负号数字化的机内表示形式称为机器数,而把机器外部用正、负号表示的数称为真值。
需要指出的是:机器数所表示的数的范围受到字长和数据类型的限制。
3、定点数与浮点数
计算机中的数除了整数之外,还有小数。如何确定小数点的位置呢?通常有两种方法:一种是规定小数点位置固定不变,称为定点数。另一种是小数点的位置不固定,可以浮动,称为浮点数。在计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数表示。下面分别予以介绍:
(1)、定点整数 在定点数中,当小数点的位置固定在数值位最低位的右边时,就表示一个整数。请注意:小数点并不单独占1个二进制位,而是默认在最低位的右边。定点整数又分为有符号数和无符号数两类。
(2)、定点小数 当小数点的位置固定在符号位与最高数值位之间时,就表示一个纯小数。
因为定点数所能表示数的范围较小,常常不能满足实际问题的需要,所以要采用能表示数的范围更大的浮点数。
(3)、浮点数 在浮点数表示法中,小数点的位置是可以浮动的。
在大多数计算机中,都把尾数s定为二进制纯小数,把阶码p定为二进制定点整数。尾数S的二进制位数决定了所表示数的精度;阶码p的二进制位决定了所能表示的数的范围。为了使所表示的浮点数既精度高、又范围大,就必须合理规定浮点数的存储格式。
4、原码、反码和补码
在计算机内,定点数有3种表示法:原码、反码和补码
所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
5、二进制数的算术运算
采用原码对两个异号定点数作加法运算可能产生错误,为此,在微型计算机中普遍采用补码运算。请注意,负数的补码并不表示其真值,再对该结果求一次补码才是其真值。
正数的原码、反码和补码的形式完全一样,不存在相互转换的问题。只有负数才存在由原码求补码和由补码求原码的问题。反码可作为原码与补码相互转换的中介。为便于运算,浮点数的尾数与阶码通常用也用补码表示,这里不再详细介绍。
6、二进制数的逻辑运算
逻辑运算要求参加运算的量均为逻辑量,并且运算的结果仍为逻辑量。逻辑量与数值量不同,一个逻辑量只能有两种取值:“真”或“假”,它们表示事物的正反两个方面。
逻辑运算包括多种运算,其中三种基本运算是:逻辑与、逻辑或和逻辑非
1.3.3 非数值数据在计算机中的表示
1、字符编码
字符是计算机处理的主要对象。字符编码就是规定用怎样的二进制码来表示字母、数字及各种符号,以便使计算机能够识别、存储和处理它们。
在微型机和小型机中使用最广泛的字符编码是美国信息交换标准代码ascii。ascii码已被国际标准化组织接受为国际标准,在世界范围内通用。
2、汉字编码
具有悠久历史的汉字是中华民族文化的象征。世界上四分之一以上的人口使用汉字,因此,在计算机中汉字的应用占有十分重要的地位。例如,当你用计算机编辑一篇文章时,就需要将文章中汉字及各种符号输入计算机,并进行排版、显示或打印输出。因此,必须解决汉字的输入、存储、处理和输出等一系列技术问题。由于汉字比西文字符不仅数量多,而且字形复杂,所以用计算机处理汉字要比处理西文字符困难得多。汉字处理技术的关键是汉字编码问题。根据汉字处理过程中不同的要求,汉字编码可分为国际码、输入码、机内码和字形码等几大类。
计算机中,只有 1、0 两个数码。
如,一个字节的内容是:1001 1010。
所以,在计算机中,都是没有小数点的整数。
但是,小数点,你可以想像。
小数点的位置,由编程人,自己确定。
因此,1001 1010,也可以当做小数:
1 . 001 1010、
10 . 01 1010、
100 . 1 1010、
。。。
那么,1001 1010,它到底代表什么数字?
你随意。
转换成二进制吗?
110110.00011小数部分转不完
具体点?你是不是学编程的? 还是学数学的?。。 两个答案不一样的