位運算在計算機編程中經(jīng)常用到,所以掌握十進制和二進制間的轉(zhuǎn)換十分重要。
十進制:由 0~9 十個數(shù)字組成
二進制:由 0和1 兩個數(shù)字組成
1、整數(shù)轉(zhuǎn)換
十進制轉(zhuǎn)二進制的原理:十進制的數(shù)除以2,直到商為0,最后反向取余數(shù)。
比如下圖中的例子,十進制的13轉(zhuǎn)為二進制表示,則為1101。
十進制轉(zhuǎn)二進制
二進制轉(zhuǎn)十進制的原理:二進制數(shù)的每一位乘以2的n次方,n 從零開始,每次加一,最后累加。
下面是將二進制的1101轉(zhuǎn)為十進制的13。
二進制轉(zhuǎn)十進制
2、小數(shù)轉(zhuǎn)換
對于小數(shù),二進制 轉(zhuǎn) 十進制 比較簡單,仍是二進制數(shù)的每一位乘以2的n次方,小數(shù)點前面的 n 從零開始,每次加一;小數(shù)點后面的 n 從-1開始,每次減一,最后累加。
小數(shù)-二進制轉(zhuǎn)十進制
十進制 轉(zhuǎn) 二進制 相對麻煩些,用2乘十進制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘余下的小數(shù)部分,又得到一個積,再將積的整數(shù)部分取出,如此進行,直到積中的小數(shù)部分為0,整數(shù)部分為1,此時1為二進制的最后一位。
下圖是將十進制的0.625轉(zhuǎn)換為二進制表示的0.101。
小數(shù)-十進制轉(zhuǎn)二進制
不過,不是所有的十進制小數(shù)都恰好能用二進制精確表示。比如十進制的0.3轉(zhuǎn)化為用二進制表示,如下圖所示。若用小數(shù)點后六位來表示,則只能近似為0.296875。
小數(shù)-十進制轉(zhuǎn)二進制
從上面的例子可以看出,二進制小數(shù)點后面的位數(shù)越多,則能表示的小數(shù)點后面的有效數(shù)字越多。
C語言中浮點型一般分為 float 單精度型(4個字節(jié))和 double 雙精度型(8個字節(jié)),單精度浮點型小數(shù)點后面有效數(shù)字為6位,雙精度浮點型小數(shù)點后面有效數(shù)字為15位。
-
二進制
+關(guān)注
關(guān)注
2文章
803瀏覽量
42155 -
計算機
+關(guān)注
關(guān)注
19文章
7630瀏覽量
90192
發(fā)布評論請先 登錄
評論