作者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