二進位制負數運算
首先要了解正負數:
通常數字的正負,是在數字的最高位通過 0和1 來區別,同時這個最高位一般稱作為『符號位』,而符號位後面的二進位制則用來表示數字。0-正數 1-負數
(+5) = (0 1001) (-5) = (1 1001)
原碼:就是通過由符號位和數字通過二進位制來表達的二進位製碼
反碼:對於正數的反碼就是本身原碼;對於負數的反碼就是原來的符號位和數值位各位取反
補碼:對於正數,原碼、反碼、補碼相同;對於負數為符號位和原數值各位取反後在最低位加1組成【負數】補碼=反碼+1
一般只需要關注負數的原碼、反碼、補碼;
補碼運算規則【符號位參與運算】:
補碼的補碼=原碼
補碼+補碼 = 和的補碼【注意和的補碼最高位是不能取反】
如-5 + -5 = -10
-5的原碼:1 101
-5的反碼:1 010
-5的補碼:1 011
補碼+補碼=10110=和的補碼
和的補碼 - 1 = 和的反碼 = 10101
和的原碼 = 1 1010 = - 10
二進位制運算基礎
位運算實質是將參與運算的數字轉換為二進位制,而後逐位對應進行運算。按位與運算為 兩位全為1,結果為1,即1 1 1,1 0 0,0 1 0,0 0 0。例如51 5 00110011 00000101 00000001 51 5 1 特殊用法 1 與0相與可清零。2 與1相與可保留原值,可從乙個數中...
二進位制運算基礎
1 十六進製制的表示 例子 0xaa 0x55。將十六進製制表示進行二進位制運算,首先要把十六進製制表示成二進位制。規則是,兩個十六進製制位等於乙個位元組 8個二進位制位 其實就是乙個十六進製制位佔4個二進位制位。對於0xaa中的a為十進位制中的10,用二進位制表示就是1010,所以0xaa用二進位...
二進位制運算基礎
位運算實質是將參與運算的數字轉換為二進位制,而後逐位對應進行運算。按位與運算為 兩位全為1,結果為1,即1 1 1,1 0 0,0 1 0,0 0 0。例如51 5 00110011 00000101 00000001 51 5 1 特殊用法 1 與0相與可清零。2 與1相與可保留原值,可從乙個數中...