前言
最近到了看书的阶段,每一章都会有一些不懂的问题,需要查一些资料才能解决,今天给大家分享的是浮点数的运算,要想明白浮点数的运算,我们首先要清楚几个关于数据编码的概念。
原码
定点整数的原码:
将最高位用作符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式。
例如:X=+0110 [X]原=0 0110
X=-0110 [X]原=1 0110
定点小数的原码 :
例如:
X=+0.1011 [X]原=0 1011
X= -0.1011 [X]原=1 1011
因为定点小数的小数位固定在最高位和次高位之间的,而定点整数是固定在最高,由系统来区分是小数还是整数。
反码(定点整数和定点小数相同)
正数的反码与原码相同。负数的反码符号位为1,其余各位为该数绝对值的原码按位取反
例如:
X=+0110 [X]反=0 0110
X=-0110 [X]反=1 1001
补码(定点整数和定点小数相同)
正数补码与原码相同,负数补码是在其反码上加1,这个加1就是“补”
例如:
X=+0110 [X]补=0 0110
X=-0110 [X]补=1 1010
移码
对补码的符号位取反得到的一种编码,他只用于表示浮点数的阶码,所以只用于整数
例如:
X=+0110 [X]移=1 0110
X=-0110 [X]移=0 1010
浮点数运算
X=+0110 [X]补=0 0110