二進位制:0,1 逢二進一
八進位制:0-7 逢八進一,用0開頭表示
十進位制:0-9 逢十進一
十六進製制:0-9,a-f (a :10 b:11 遞增)逢十六進一,0x表示
逢十進一:在生活中,0-9是一位數,9加一就是10(二位數)了,這就叫逢十進一、
逢二進一:1就是最大位,打過1就要進一位,例如:
1+1=10 ,
1+1+1=11。
進製轉換
例如:進製數轉十進位制
1011.01
從小數點始,以0為開始數,小數點左面有四位 對應: 1,1,0,1;小數點右面有兩位 對應:0,1。
如果1011.01是二進位制的,
1011.01 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 + 0*2
^-1 + 1*2^-2
= 11(十進位制)
其中 2為基數。
1*2^3 這裡1代表 1011.01 中的 最高位(個十百千的位) ,2代表 要轉化的進製,3是從小數點起往左計數從0開始,這裡的最高位就是3
0*2^2 這裡0代表 1011.01 中的 第二高位就是百位,2代表 要轉化的進製,2是從小數點起往左計數從0開始,百位為2。
以此類推。
同理,如果1011是八進位制的,那麼 8為基數
1011 =1*8^3 + 0*8^2 + 1*8^1 + 1*8^0 = 521(十進位制)。
ok,那麼十進位制如何轉成二進位制的?
以十進位制的11.875為例 先取出整數 11
11/ 2 = 5 ... 1
5/2 = 2 ... 1
2/2 = 1 ... 0
1/2= 0 ...1
既 (11)10 = (1011)b
再取出小數 以0.875
0.875*2 = 1.75 1
0.75*2 = 1.5 1
0.5*2 = 1 1
既 (0.875)10 = (0.111)b
所以(11.875)10 = (1011.111)b
其中2為基數,進製轉換只需要改變基數就行了。
進製的相互轉化
我們常用的進製包括 二進位制 八進位制 十進位制與十六進製制,它們之間區別在於數運算時是逢幾進一位。十進位制轉二進位制 方法為 十進位制數除2取餘法,即十進位制數除2,餘數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商為0為止。二進位制轉十進位制 方法為 把二進位制數按權展開 相加即得...
進製之間的相互轉化
由乙個問題想到的!這個問題是 在windows計算器裡,用programmer方式,選擇dword即32位編碼,然後切換到16進製制,輸入80800006,再轉化成十進位制,會得到乙個負數 2139095034 在c 裡面80800006是乙個uint變數,如何把它變成乙個int的負數?答案 uin...
進製間的相互轉化
原文 進製間的相互轉化 進製間的轉換如下圖所示 由上圖可知,進製間共有12種轉換。下面將逐一介紹這12種轉換方法 1 二進位制轉化為八進位制 原理 1 1位八進位制數可以用3位二進位制數碼表示 2 以小數點為邊界 若小數點左側 即整數部分 不是3的整數倍,則在最左側補零,對小數點右側 即小數部分 應...