332
請問各位資料結構16進位算法
請問各位資料結構的問題!
1:有一整數列陣int a〔50〕(設sizeo f(int)=2)若a〔0〕在記憶體中的位址為03C4 16進位A〔11〕的位址?我的算法11*2=22
03C4+22=03E62:有一整數列陣int a〔50〕(設sizeo f(int)=2)若a〔0〕在記憶體中的位址為10E9 16進位A〔40〕的位址?我的算法40*2=80
80/16=5
10E9+5=11393:有一浮點數陣列floatA〔18〕〔16〕(設sizeo f(float)=4)
A〔0〕〔0〕位址是03C4 16進位A〔5〕〔3〕的位址?我的算法5*16+3=83
83*4=332
03C4+332=06F6算法跟課本都一樣
可是算出來結果為什麼不一樣?一定有地方算錯了~麻煩各位大大幫我解答一下~
你沒把10進位轉成16進位便去計算
當然錯誤。
更正的部份用紅字顯示。
1:有一整數列陣 int a〔50〕(設sizeof(int)=2) 若a〔0〕在記憶體中的位址為03C4 16進位 A〔11〕的位址? 更正算法11*2=22=16H
03C4+16=03DA2:有一整數列陣 int a〔50〕(設sizeof(int)=2) 若a〔0〕在記憶體中的位址為10E9 16進位 A〔40〕的位址? 更正算法40*2=80=50H
10E9+50=11393:有一浮點數陣列 floatA〔18〕〔16〕(設sizeof(float)=4) A〔0〕〔0〕位址是03C4 16進位 A〔5〕〔3〕的位址? 更正算法5*16+3=83
83*4=332=14CH
03C4+14C=0510
1. 03C4 16=03DA2. 10E9 50=11393. 03C4 20C=05D0
1:有一整數列陣int a〔50〕(設sizeof(int)=2)若a〔0〕在記憶體中的位址為03C4 16進位a〔11〕的位址?我的算法11*2=22
03C4+22=03E6這裡錯了
22是十進位
應該是十六進位1603C4+16=03DA2:有一整數列陣int a〔50〕(設sizeof(int)=2)若a〔0〕在記憶體中的位址為10E9 16進位a〔40〕的位址?我的算法40*2=80
80/16=5
10E9+5=113980換十六進位是50
你把餘數0忘了10E9+50=11393:有一浮點數陣列floatA〔18〕〔16〕(設sizeof(float)=4)
A〔0〕〔0〕位址是03C4 16進位A〔5〕〔3〕的位址?我的算法5*16+3=83
83*4=332
03C4+332=06F6要把332換十六進位是14C03C4+14C=0510
我的媽呀...這算法看起來有像一公升的油加五百克的糖....有空的話多用小算盤做一些 10 進位和 16 進位的運算實作吧.
關於十進數332轉換成十六進數的問題:從答案反算就知道了呀:(1)十六進數14C=1*256+4*16+12=332(2)十六進數20C=2*256+0*16+12=524所以你是算錯了。
你用除法來作換算
第一次餘數是12(C)
商是20但是你沒有把20再作一次!
(別忘了20比16大)再作一次
第二次餘數是4
商是1
所以是14C
資料結構書,資料結構作業,資料結構題目,資料結構教學,資料結構時間複雜度,資料結構串列,資料結構陣列,何謂資料結構,資料結構 聖經,資料結構與演算法資料結構,進位,算法,sizeof,記憶體,浮點數,floatA,整數,int,各位大大
進位|for|會員管理|語法|do-while|程式|連結|8051|迴圈|數值|read|C |code|陣列|線性|堆疊|字串|會員登入|運算|C|函數|撰寫|題目|程式設計|矩陣|讀取|指令|API|
332
參考:http://tw.knowledge.yahoo.com/question/question?qid=1508042402920如有不適當的文章於本部落格,請留言給我,將移除本文。謝謝!