2011年(6)
分类: LINUX
2011-09-20 19:56:00
无符号加法其实就是整数模2^w加。
无符号乘法就是整数模2^w乘。
补码加法就是先实行无符号加法,再执行U2T(即将无符号数转换成补码数)。
补码乘法就是先实行无符号乘法,再执行U2T。
因此,无符号加/乘和补码加/乘有相同的位表示。
-x和~x+1的结果完全一样。
整数乘以常数:将常数表示为二进制,再通过适当的移位。
整数除以2的幂:x/y
分两种情况一个关于浮点的练习题:
1.x >= 0,y > 0:结果是[x/y]。
2.x <= 0,y < 0:结果是[(x + y -1)/y];
对于一种具有n位小数的浮点格式,给出不能准确描述的最小正整数的公式(因为要想准确表示它需要n+1位小数)。假设阶码字段长度k足够大,可以表示的阶码范围不会限制这个问题。这个问题的课后答案是2^(n+1) +1
我的理解是:根据IEEE浮点标准V=(-1)^s *M*2^E。E是阶码,M是尾数。以下取s=0师兄,我的理解正确否?
当E=2^n时,根据M的变化,V可以取到的范围是1~2^(n+1)-1。
而取M=1,E=n+1时,V=2^(n+1)。
而2^(n+1)+1则需要n+1位小数才能表示。