學習補碼,就須要先把進制的問題再鋪墊一下。以前也有記錄,不過不夠詳細,這裏再詳細的整理一份出來,做爲補碼的基礎。學習
進制spa
1,什麼叫進制.net
逢n進1orm
2,把r進制裝換成十進制blog
2進制,該數值從個位依次 * 2的0次方,*2的1次方,*2的2方,……ci
其餘進制也同樣的方法get
3,十進制轉換成r進制博客
方法 : 除r取餘,直至商爲0,餘數倒敘排列it
練習:基礎
十進制的1000轉化成16進制是多少?答案:3e8
十進制的123轉化成2進制是多少?答案:111101
十進制的123轉化成8進制是多少?答案:173
4,不一樣進制所表明的數值之間的關係
十進制的 3981 轉化成 十六進制是 f8d
十進制的3981和十六進制的f8d所表明的本質上都是同一個數值,
5,二進制轉十六進制
方法: 從右到左,四位一段,分別轉化,不夠四位的補零
例如:
二進制: 01011001
從右到左,依次計算:
1001 按照十進制的方式轉換,是 9
0101 按照十進制的方式轉換,是 5
因此,十六進制 就是 59
6,十六進制轉二進制
方法: 將每個十六進制位轉化爲四個二進制位
例如:
十六進制: 2E
將 E 轉化成4個二進制數,就是求 E 的二進制數,是 1110
求 2 的二進制數,是 10
因此,二進制數是 101110
7,二進制轉八進制
方法: 從右到左,三位一段,分別轉化,不夠三位的補零
二進制數: 101110
從右到左,三個一段
二進制 110 ,轉化爲 6
101,轉化爲 5
因此,八進制就是 56
8,八進制轉二進制
方法: 將每個八進制位轉化爲三個二進制位
例子: 八進制 27
一樣道理,
將 7 拆分紅 二進制,111
將 2 拆分紅 二進制,10
因此,二進制 就是 10111
9,不存在十六進制與八進制的直接相互轉化,都是以二進制爲中間進制來進行轉化的。
學PHP的小螞蟻 博客 http://my.oschina.net/woshixiaomayi/blog