计算机中数据有定点数和浮点数两种表达方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机中数据有定点数和浮点数两种表达⽅式
⼀、我们先来了解⼀下概念:
(1)定点数:⼩数点固定在某个位置上的数据。
就好像 0.0000001 ,0.0001111;
(2)浮点数:⼩数点位置可以浮动的数据。
就像数学中的 1222.2*10^3也可以表⽰为1.2222*10^6;
浮点数表达式:
N=M*R^E;N为浮点数,M为尾数(mantissa),E也阶码(exponent),R为阶的基数,也就是底数啦,就像上⾯的10,不过咱们计算机⾥的底数不会是10的。
R通常是⼀个常数,⼀般是2、8、16。
在⼀台计算机⾥,所有数据中的R是确定,且相同的。
⼆、定点数表达式:⼗进制 130.8125 = 10000010.1101 ⼆进制
三、定义:
⼩数点符号“.”不再表⽰出来,⽽是约定在默认的固定位置;定点数分为有符号数和⽆符号数;
⽆符号数:没有符号位,字中所有的位均表⽰量值,范围0~2-1;
有符号数:最左边⼀位为符号位(0 正,1 负),其余位数代表它的量值;
m.n=1.23 符号位⼀位为0,量值位 23-bit=4-bit*5+3bit=ox*5+111=fffff+4+2+1=fffff+7=ox7fffff;
有符号定点数:
纯⼩数纯整数m.n
表⽰范围0<=|x|<=1-2^(-n)0<=|x|<=2^n-10<=|x|<=2^n-2^(-n)
有效精度位数n-1位n-1位n-1位
最⼩变化量2^(-n)12^(-n)
四、数值的补码表⽰也分两种情况:
(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,所以-7的补码是11111001。
已知⼀个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表⽰是⼀个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表⽰是⼀个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。
例如,已知⼀个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表⽰是⼀个负数,所以该位不变,仍为 “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。
五、
==>>2^0+2^1+2^2+2^3+.+2^n-1=(2^n)-1 这个等式是怎么推导出来的?
S=2^0+2^1+2^2+2^3+.+2^n-1
2S=2^1+2^2+2^3+...+2^(n-1)+2^n
两式相减,
2S-S=2^n-2^0
S=(2^n)-1
====>求数列1/2+1/4+1/8+……1/2^n
T=1/2+1/4+1/8+…+1/(2^(n-1)+1/(2^n)
1/2T=1/4+1/8+1/8+…+1/(2^n+1/2^(n+1)
两式相减得
1/2T=1/2-1/2^(n+1)
T=1-1/(2^n)。