序:
最近做了兩道基礎題發現時間長沒有換算算錯了 寫下這篇文章以複習。
上面得乘除是課本上會教得方法,加減是我在學習過程中自己總結的 就當看個思路。
2進制裡只有兩個數字 0 和1 沒有其他任何數字
乘除:
舉例:
十進制:175
二進制:10101111
- 十進制轉二進制
"除2取餘,逆序排列"法:
首先用2整除一個十進制整數,得到一個商和餘數
然後再用2去除得到的商,又會得到一個商和餘數
重複操作,一直到商為小於1時為止
然後將得到的所有餘數全部排列起來,再將它反過來(逆序排列)
舉例:用除2取餘法十進制175轉二進制
175÷2餘1
87÷2餘1
43÷2餘1
21÷2餘1
10÷2餘0
5÷2餘1
2÷2餘0
1÷1餘1
從下往上寫就是10101111 到此轉換完畢。
- 二進制轉十進制
“位權法”:
要從右到左用二進制的每個數去乘以2的相應次方
從左往右給每一個數字賦予一個權,依舊以10101111舉例
1010111
7654321
上面的是要轉換的二進制,下面的是對應的每一位的權
拿二進制去乘2的權術次方再相加
(1* 2的零次方) + (1* 2的一次方)+ (1 * 2 的二次方)+(1 * 2的三次方) +(0 * 2的四次方) +(1* 2的五次方) + (0 * 2的六次方) + (1 * 2的7次方) = 1 + 2 + 4 + 8 + 0 + 32 + 0 + 128 = 175
嗯簡單是簡單但是太麻煩了,一個數字要轉換半天。
加減:
有沒有既簡單還方便的辦法呢?
有
我們讓乘除法變成加減法。
先數一數10101111有幾位?
八位,那從1開始。
128 64 32 16 8 4 2 1
如果是9位那麼就是:
256 128 64 32 16 8 4 2 1
然後將要轉換的2進制一一對應。
128 64 32 16 8 4 2 1
1 0 1 0 1 1 1 1
把下面有1的數字加起來
128+32+8+4+2+1=175
到此二進制轉10進制結束。
十進制轉二進制
175
依舊列出
128 64 32 16 8 4 2 1
拿175去從左往右減 175-128= 47 標註1
接著減發現47-64不夠 標註0 ,.47-32=15 能減 標註為1,15-16 又不夠 標註0 ,15-8=7 標註1,7-4=3標註1,3-2=1標註1,1-1=0標註為1。
即得出10101111
到此轉換完畢
小數同理
101011.11
32 16 8 4 2 1 0.5 0.25
一一對應加或者減。
注意:小數點相當於分割點 沒小數點是從1開始 有小數點是小數點後有幾位就寫幾位。
下半部分方法如熟練算起來會很快。