簡介
二進制是使用 0 和 1 表示的數(shù)骤星,相對于10進制以10為基數(shù),逢10進1爆哑,借1當10洞难,二進制則以2為基數(shù),逢2進1揭朝,借1當2队贱,在計算機中使用的都是二進制色冀,在計算機內(nèi)部使用開關(guān)來存儲數(shù)據(jù),開表示1柱嫌,關(guān)表示0锋恬,每一個數(shù)字稱為一位 或一比特(bit, binary digit),位是計算機硬件操作數(shù)據(jù)的基本單位编丘,8位二進制是一個字節(jié) (Byte)与学,字節(jié)是計算操作系統(tǒng)操作的基本單位
運算
加法,逢2進1
0 + 0 = 0
1 + 0 = 1
1 + 1 = 10
減法瘪吏,借1當2
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1
乘法癣防,與十進制一樣
0 * 0 = 0
1 * 0 = 0
1 * 1 = 1
除法蜗巧,與十進制一樣
0 / 1 = 0
1 / 1 = 1
進制轉(zhuǎn)換
二進制轉(zhuǎn)10進制
方法:“按權(quán)展開求和”
位權(quán):某進制計數(shù)制中各位數(shù)字符號所表示的數(shù)值表示該數(shù)字符號值乘以一個與數(shù)字符號有關(guān)的常數(shù)掌眠,該常數(shù)稱為 “位權(quán) ”
例:
1110 = 1*2^3 + 1*2^2 + 1*2^1 + 0*2^0 = 8 + 0 + 2 + 0 = 14
10110110 = 1*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 0*2^3 + 1*2^2 +1*2^1 + 0*2^0 = 128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 = 182
10進制轉(zhuǎn)二進制
方法:“除以2取余,逆序排列”
例:14
14/2 = 7?0 等7余0
7/2 = 3?1 等3余1
3/2 = 1?1 等1余1
1 余下的1
逆序排列 1110
二進制轉(zhuǎn)16進制
方法:二進制數(shù)轉(zhuǎn)換成十六進制數(shù)時幕屹,只要從小數(shù)點位置開始蓝丙,向左或向右每四位二進制劃分一組(不足四位數(shù)可補0),然后寫出每一組二進制數(shù)所對應的十六進制數(shù)碼
十六進制數(shù)字與二進制數(shù)字的對應關(guān)系如下:
二進制 | 16進制 | 二進制 | 16進制 |
---|---|---|---|
0000 -> 0 | 0100 -> 4 | 1000 -> 8 | 1100 -> C |
0001 -> 1 | 0101 -> 5 | 1001 -> 9 | 1101 -> D |
0010 -> 2 | 0110 -> 6 | 1010 -> A | 1110 -> E |
0011 -> 3 | 0111 -> 7 | 1011 -> B | 1111 -> F |
這個轉(zhuǎn)換表可以先把二進制轉(zhuǎn)為10進制望拖,再把10進制轉(zhuǎn)為16進制計算得到
例:
1111 = 1*2^3 + 1*2^2 + 1*2^1 + 1 *2^0 = 8 + 4 + 2 + 1 = 15, 十進制15對應16進制 F
二進制在計算機內(nèi)的存儲
數(shù)據(jù)在計算機底層是以二進制來存儲的渺尘。而且就是按照數(shù)據(jù)的補碼來存儲的。(數(shù)據(jù)分為:原碼说敏、反碼鸥跟、補碼)
對于正數(shù)來講:原碼、反碼盔沫、補碼都是相同的医咨。對于負數(shù)來講:其補碼可以看做是其相反數(shù)的各個位去反后,再+1得到
最高位表示正負 0 表示 正數(shù)架诞,1表示負數(shù)拟淮,后面的具體數(shù)
使用補碼存儲的原因在于運算的時候可以把符號當成數(shù)值來處理,減法可以按加法來處理谴忧,CPU 內(nèi)部基礎(chǔ)的運算是加法很泊,統(tǒng)一成一種運行硬件設(shè)計起來簡單