1.cpu,內存都是超大規模集成電路(IC,integrated circuit),IC所有引腳電壓只有兩種:0V,5V,所以計算機的信息處理只能用0、1來表示。計算機最小集成單位為位(比特,bit),二進制位數一般是8位、16位、32位、64位。
字節是最基本的計量單位,左側表示高位、右側表示低位。向左移動一位數值變為原來兩倍,向右移一位數值變為原來的1/2.
2.便於計算機處理的補數
原碼 反碼 補碼
1 00000001 00000001 00000001
-1 10000001 11111110 11111111
1+(-1)=00000001+11111111=100000000 發生溢出,所以求和結果為0
3+(-5)=00000011+(10000101補碼)=00000011
+11111011=11111110 補碼再轉為源碼100000010=-2
3.算術右移
負數右移需要高位最高位補充符號位 1。
-4 右移2位
11111100->00111111->10111111->11111111(-1)
補碼 右移兩位 高位補1 取反加1
4.邏輯運算
and or not xor
5.壓縮算法:有損、無損
幾種常見壓縮算法
RLE:針對連續字節序列,壓縮效果好。
哈夫曼樹:出現頻率高的字符用盡量少的位數編碼來表示