close

以上為題目,應阿思要求,解釋前三題寫法。(用力改圖,把醜字砍光光!)
P.s:圖也有更新,紅字為老師公佈的答案,藍字為我自己寫的,不保證對,錯了別來找我,俺不會負責=v="
P.s2:圖有錯,綠字為修正後


第一題:
n[0]=20db8,n[1]=20dbc,n[2]=__________,n[255]=___________
首先題目給出n[0]的起始位置(指在硬碟中的位置)之16進位碼為20db8而n[1]為20dbc
那麼,代表一個位置佔16進位的4,換算成2進位為1000也就是4bit

慢慢推法:
按照題目的意思慢慢推那麼,n[3]會是20dc0......有閒功夫就去推吧XD
0~255共有255個間距,255*4=1020,換算成16進位為3FC,將n[0]加上3FC即為答案。

倒推法:
假設有第256個數存在,那麼他的起始位置便是第255個數之起始位置加上4。
而256*4=1024=2的10次方(1後面10個0),再,2的10次方換算成16進位則為400,故,n[0]之起始位置加上400再減掉4即為答案。

最簡單+偷吃步算法:
請看第二題題目...ch[0]=211b8,此為倒推法假設之第256個數的起始位置,那麼減4即為所求。

更新內容:後面幾題的解釋(極偷懶版)

<重要>符號說明:
&q => q這個變數的起始位置
q => q變數存放的東西(在此為一個變數的位址)
*q => 找到q裡面存放的另一個變數之位址,去那個位址,將那個位址裡存放的值取出

配合下圖:
&q => q變數的位置 -> ffbefbbc
q => q變數存放的東西 -> 20d70
*q => 去存放之位址將東西取出 -> A -> 16進位為41

5/09更新

黑色為變數名稱,藍色為變數位址,綠色為變數內存放的值。
右邊為mystr的16進位對照表。

char * strrev(char * s) /*此行的第一個char是設定回傳格式為某字的起始位置。第二個char是設定s為存放某變數位置的變數。*/




arrow
arrow
    全站熱搜
    創作者介紹
    創作者 otn147 的頭像
    otn147

    隱狼原

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