說到十進位制和二進位制的轉換,明明之前學會了,但是許久不用就覺得好像忘記方法了。希望做好這個筆記後能夠牢牢記住
十進位制轉換為二進位制
十進位制轉二進位制分為整數轉二進位制,和小數轉二進位制
整數轉二進位制
小數轉二進位制
二進位制轉換為十進位制
二進位制轉為十進位制要從右到左用二進位制的每個數去乘以2的相應次方,小數點後則是從左往右。
如果首位是0就表示正整數,如果首位是1則表示負整數,正整數可以直接換算,負整數則需要先取反再換算。
因為計算機內部表示數的位元組單位是定長的。如8位、16位、32位。所以位數不夠時,高位補零。
說到十進位制和二進位制的轉換,明明之前學會了,但是許久不用就覺得好像忘記方法了。希望做好這個筆記後能夠牢牢記住
十進位制轉換為二進位制
十進位制轉二進位制分為整數轉二進位制,和小數轉二進位制
整數轉二進位制
採用"除2取餘,逆序排列"法:1.首先用2整除一個十進位制整數,得到一個商和餘數2.然後再用2去除得到的商,又會得到一個商和餘數3.重複操作,一直到商為小於1時為止4.然後將得到的所有餘數全部排列起來,再將它反過來(逆序排列),切記一定要反過來!假設我們現在需要將42轉為二進位制,那我們怎麼做呢,如下圖所示:小數轉二進位制
採用"乘2取整,順序排列"法:1.用2乘十進位制小數,可以得到積,將積的整數部分取出2.再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出3.重複操作,直到積中的小數部分為零,此時0或1為二進位制的最後一位,或者達到所要求的精度為止例如將0.125轉換為二進位制:如果小數的整數部分有大於0的整數時,將整數部分和小數部分先單獨轉為二進位制,再合在一起就可以了,例如:二進位制轉換為十進位制
二進位制轉為十進位制要從右到左用二進位制的每個數去乘以2的相應次方,小數點後則是從左往右。
如果首位是0就表示正整數,如果首位是1則表示負整數,正整數可以直接換算,負整數則需要先取反再換算。
因為計算機內部表示數的位元組單位是定長的。如8位、16位、32位。所以位數不夠時,高位補零。
如要想二進位制00101010轉為十進位制,因為以0開頭,所以這是正整數,計算如下所示:(0 * 2的零次方) + (1* 2的一次方)+ (0 * 2 的二次方)+(1 * 2的三次方) +(0 * 2的四次方) +(1* 2的五次方) + (0 * 2的六次方) + (0 * 2的7次方) = 0 + 2 + 0 + 8 + 0 + 32 + 0 + 0 = 42如果11101011想轉為十進位制,因為是1開頭,所以先取反 - 00010100,然後計算出10100對應的十進位制為20,所以11101011最終對應的十進位制為 -20。