標題:

計概裡的浮點數表示法

發問:

1.以IEEE單倍精確浮點數格式表示下列數字: (-0.00001101)2 <---2下標 2.五取二碼怎麼看?? 詳細一點3q^^ 更新: 第二題是數碼系統的五取二碼怎麼看? 0~9怎麼寫 3q^^ 更新 2: 再問一題 反射葛雷碼(10111)2-->下標 怎麼得到11100的

最佳解答:

仔細一看...FlyingFree的解法怪怪的... 先說一下IEEE-754的基本定義好了 ┌─┬────────┬──────────────┐ │S│Exponent│Mantissa│ └─┴────────┴──────────────┘ 1.S(B0):0代表"正";1代表"負" 2.Exponent(B1~B8):偏移值是"127",並不是FlyingFree說的"128" 3.Mantissa(B9~B31):表示1.M,其中整數部分的1為隱含位元, FlyingFree又說錯嚕... 因此(-0.00001101)(Bin) = - 1.101 x 2^(-5) 1.因為是負值,所以S=1 2.Exp=-5+"127"=122(Dec)= 01111010 (Bin) 3.(1.101),其中整數1隱含,所以Mantissa=1010...........0 (20個0) 因此(-0.00001101)(Bin)在IEEE-754的表示法如下 10111101010100000000000000000000 HEX= BD500000 妳可以參考 http://www.h-schmidt.net/FloatApplet/IEEE754.html ======================================================== 五取二碼....@@...並不是二五碼...@@ 五取二碼 0 = 00011 1 = 00101 2 = 00110 3 = 01001 4 = 01010 5 = 01100 6 = 10001 7 = 10010 8 = 10100 9 = 11000 我自己的計法...分享給你好了... 五取二碼都有兩個1...我令他為"左1"及"右1"... 以左1的位置為零,往右的權位依序是1234 遇到0的話,就加上其權位值, 遇到1的話,就不要加... 跟一般的加權碼的看法相反... 我把所有數字都做說明好了... 0=00011 01(加權碼) 00000(加起來就是0) 1=00101 012(加權碼) 00010(加起來就是1) 2=00110 012(加權碼) 00002(加起來就是2) 3=01001 0123(加權碼) 00120(加起來就是3) 4=01010 0123(加權碼) 00103(加起來就是4) 5=01100 0123(加權碼) 00023(加起來就是5) 6=10001 01234(加權碼) 01230(加起來就是6) 7=10010 01234(加權碼) 01204(加起來就是7) 8=10100 01234(加權碼) 01034(加起來就是8) 9=11000 01234(加權碼) 00234(加起來就是9) ======================================================= 一樣...分享我的記法給你~~ 10111│ ⊕1011│1(將原碼右移一位,並做Xor運算) ──────┼─ 11100│1(最後一個位元不看) 2007-02-06 14:42:07 補充: Gray碼跑掉嚕... 10111│ ●1011│1(將原碼右移一位,並做Xor運算) ──────┼─ 11100│1(最後一個位元不看) 其中●是Xor

aa.jpg

 

此文章來自奇摩知識+如有不便請留言告知

其他解答:

1. IEEE-754表示法共32bit 第1個bit是正負號(0正1負) 第2~9個bit是次方數+128 第10~32個bit是值 而浮點數在IEEE的正規格式是 (+/-)1.有效數字 x 2^次方 例如 -1.00101 x 2^(-7) (2進位) 題目是-0.00001101 也就是-1.101x2^(-5) 所以第1個bit是1(負) 第2~9個bit是01111011 (-5+128=123) 剩下的bit就是10100000000000000000000 (有效數字的小數部份後面補0) 所以答案是 10111101110100000000000000000000 2. 你說的五取二碼是不是二五碼? 二五碼共七位 分別代表5043210 每一個數一定都是兩個1、五個0所組成 + 5043210 0 0100001 1 0100010 2 0100100 3 0101000 4 0110000 5 1000001 6 1000010 7 1000100 8 1001000 9 1010000 3. 格雷碼轉回二進位數的方法如下 保留格雷碼第1位數為二進位數的第1位數 然後將二進位數第1位數與格雷碼第2位數做XOR運算 答案即是二進位數第2位數 接著再將二進位數第2位數與格雷碼第3位數做XOR運算 答案即是二進位數第3位數 依此類推 所以答案應該是11010才對 XOR運算: 0xor0=0 , 0xor1=1 , 1xor0=1 , 1xor1=0FBEFE3C2E0474026
arrow
arrow

    njtnvdt 發表在 痞客邦 留言(0) 人氣()