您好,登錄后才能下訂單哦!
~~----------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
十進制數字 | 二進制表示 |
---|---|
128 | 1000 0000 |
192 | 1100 0000 |
224 | 1110 0000 |
240 | 1111 0000 |
248 | 1111 1000 |
252 | 1111 1100 |
254 | 1111 1110 |
255 | 1111 1111 |
----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
十進制數字 | 規律 |
---|---|
128 | 128+ 2^6 (64)=192 |
192 | 192+ 2^5 (32)=224 |
224 | 224+ 2^4 (16)=240 |
240 | 240+ 2^3 (8)=248 |
248 | 248+ 2^2 (4)=252 |
252 | 252+ 2^1 (2)=254 |
254 | 254+ 2^0 (1)=255 |
255 | 255是最后一個 |
你會發現規律,從128--225,每兩個數之間的差是遞減的:64-32-16-8-4-2-1.把這個記住。----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
上面的都記住之后,我們就可以開始理解這個算法了。
我們把8位的二進制,從右向左,對應數字 2的0次方(2^0) 至 2的7次方(2^7)。那么寫出來就是:
1111 1111 |
---|
128 -64-32-16 8-4-2-1 |
這個不難理解,將這個記住就ok。
將X(0<X<256)轉二進制,我們開始計算(128.64.32.16.8.4.2.1)哪些加起來等于X。我們只算加起來等于X,我們不算減法等于X,因為減法需要向前借一位,個人感覺比較復雜,不建議。
在轉化二進制中,128.64.32.16.8.4.2.1,這八個數,用到哪個,哪個對應的位置就寫1,其他為0.----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
將 129轉換成二進制。
算法:在128.64.32.16.8.4.2.1中選擇數字加起來等于129.我們發現128+1=129.
我們知道128用二進制表示是 1000 0000(最開始就讓你記憶的那些數字),再加上規則三,用到哪個數,哪個數就寫1,因此我們得到答案是:1000 0001
將168轉換成二進制。
算法:我們發現128+40=168,32+8=40,所以就是128+32+8=168,所以我們把對應的數字寫成1,因此我們得到的答案是: 1010 1000
將244轉換成二進制。
算法:我們發現我們已經知道240的二進制了:1111 0000,(之前記憶的),那么就是240+4=244.所以我們將240的二進制寫出來,然后將4對應的位置寫成1。因此我們得到的答案就是1111 0100.
將253轉換成二進制。
算法:我們已經知道252的二進制了:1111 1100(之前記憶的),那么就是252+1=253,所以我們將1對應的位置寫成1,得到答案1111 1101
將80轉成二進制。
算法:64+16=80,將64和16這兩位寫成1,那么得到答案:0101 0000,最前面的0可以省略,所以我們的答案也可以寫成101 0000
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。