作者:ME
时间:2010-01-17 23:26:09
内容:如下
要想了解 浮点数的二进制的阶码 的表现形式 首先要补一补一下知识
1:浮点数的十进制表现形式
十进制中通常一个浮点数可以用科学技术法来表示
举例:-306.5可以表示为-0.3065*103
其中 -是符号 指数3是阶或称阶码 0.3065是小数部分 左右段非0包起来的部分是有效值 这里的有效值是3065 小数部分也称为尾数,显然3065也是尾数(-3.87的话 387是有效值 87是尾数)
为什么称为 浮点数
因为他可以表示为-3.065*102 也可以表示为-0.03065*104 等,小数部分可以左右“浮动” 但不管小数部分怎么移动,他的有效值是不变的 都是3065 (不过尾数是变化的)
于是 两个浮点数相加就先要通过小数点的左右浮动,将阶码对齐 然后进行尾数相加
为了使有效值和尾数能够统一,在空间上表达更有效率 有必要将所有浮点数规格化
重要 :【即浮点数通过调整阶码,写成小数点前不含有有效数字,小数点后第一位由非0数字表示,举例-306.5规格化为-0.3065*103 】
2:十进制浮点数转换为二进制浮点数
在计算机内部,浮点数都是以二进制表示的,所以 对于十进制浮点数,要先转换为二进制浮点数,然后分两步,整数部分的转换,采用(“除2取余法” ) 小数部分采用 (“乘2取整法”)即把小数部分乘2取整,在把取完整数好留下的小数部分在乘2取整,以此类推
3:二进制浮点数的尾数及规格化
一旦十进制浮点数转换完成二进制浮点数后,就要像十进制数那样,对二进制数规格化,以便于计算机表示。
二进制浮点数的规格化方法:
重【通过调整小数点的阶码使得该数的有效值在1和2之间,既二进制浮点数的整数部分为1】
例如:0.8125 = 0.1101(2) = 1.101*2(-1)