作者slsf (slsf)
看板Nethood
標題Re: [問題] 2進位與16進位的轉換
時間Thu Dec 25 08:16:57 2008
※ 引述《kyo19830320 (CD噗囉兔)》之銘言:
: 大家好=.=,問題兒童又來了
: 是的,我研究到2進位與16進位哩(歡呼~)
: 恩首先....沒什麼問題
: 先拿1111011來講,這是2進位的表示
: 首先16進位,把他填滿變為8位數~ => 0111,1011
: 1011=11(B)
: 0111=7(7)
: 所以0111,1011轉變為16進位表示得7B
: 恩......現在要轉換回去
: 7 = 3 * 2 + 1
: 3 = 2 * 1 + 1
=>3 = 1 * 2 + 1 ( * 2 是固定的意思,是算 2 的倍數,不要隨便換)
: 2 = 2 * 1 + 0
=>1 = 0 * 2 + 1
: 由右至左排列,得011? <= 囧,為什麼少了一個1
^^^
111,你算錯了
: 是我哪邊出錯誤?
: 不相信,再驗算一次,這是用1011來作
: 1011 = 11(B),驗算開始
: 11 = 5 * 2 + 1
: 5 = 2 * 2 + 1
: 2 = 2 * 1 + 0
1 = 0 * 2 + 1
: 得011,="=為什麼兩個都是得到011
^^^
得1011 你少算一次
: 看了半天,我還是不知道我哪邊作錯了
: 把2進位換算成16和10我都會了
: 惟獨轉換這邊一直出錯><
: 揪~~竟我是哪裡出了問題呀~~
: 之前是拿97當例子,我看到我和S大不同的地方
: 97/2 = 48 ... 1
: 48/2 = 24 ... 0
: 24/2 = 12 ... 0
: 12/2 = 6 ... 0
: 6/3 = 2 ... 0
: 3/2 = 1 ... 1
: ----------------------
: 1/2 = 0 ... 1 <=我少做了這個除式,所以才會造成100001(2)=33(10)
: 現在我應該也有少做東西...
: 但是
: 11/2 = 5 ... 1
: 5/2 = 2 ... 1
: 2/2 = 0 ... 0
2/2 = 1 ... 0
1/2 = 0 ... 1
所以 11 = 1011 (B)
: ----------------------
: 0/2 = ? ... ? <=不可能是這樣吧="=a
結論 都是你算錯 XD
slsf
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.96.55
1F:推 joexx12:我想原PO可能沒有弄懂原理 只知道用算法算 才會出錯0.0 12/25 08:36
2F:推 kyo19830320:冏 真是腦殘了,我道歉ˊˋ 12/25 12:20
3F:→ slsf:不用道歉辣 ^^" 下次多注意就好 習慣後其實就會了 12/25 13:06