浮点数是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。
一个浮点数a由两个数m和e来表示:a = m × b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负...
就是在二进制中,一个数的小数点可以可以通过乘以2的幂次来改变位置,这是其原理 。
浮点数的组成:阶符+ 阶码 +数符+ 尾数
计算机中表示浮点数的字长通常为32位,其中7位作阶码,1位为阶符,23位尾数,1位作数符
例如用2个字节表示一个浮点数(32写起来麻烦,所以用2个字节就是16位来举例,呵呵希望谅解) (72.45x10^5)D先换成普通二进制数(11011101000110011001000)B
然后开始像十进制数的科学计数法那样写成约...
Java中浮点数的运算和表示
我画个图解释:
当然我们编程的时候不用这么麻烦,可以 >> <<来移位
Ms E M
↓ ↓ ↓
1位 m位 n位
其中Ms为数值符号位;E位阶码,移码表示;M位数值,原码表示。
例:数据(二进制):0.11001×2**5(2的5次方)
浮点数表示为:
0 1101 11001
↓ ↓ ↓
数据 移码符号 数值为
符号 为1,数 0.11001
为0 值为5
标签:浮点数,计算机,原理