Windows - 遠端Mac
阿新 • • 發佈:2022-05-19
操作符
左右移操作符
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a = 2; //a = 0000 0000 0000 0000 0000 0000 0000 0010
int b = a << 1; //b = 0000 0000 0000 0000 0000 0000 0000 0100
printf("%d \n",b);
return 0;
}
檢視結果
4
位操作符
& 按位與
| 按位或
^ 按位異或
賦值操作符
= += -= *= /= &= ^= |= >>= <<=
單目操作符(只有一個運算元的)
! 邏輯反操作
- 負值
+ 正值
& 取地址
sizeof 資料型別的長度(位元組為單位)
~ 對一個數的二進位制按位取反
--
++
* 間接訪問操作符
(void) 強制型別轉換
原碼:
- 假設機器字長為n,原碼(自然二進位制碼)是一種計算機中對數字的二進位制定點表示方法。原碼錶示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
反碼:
- 反碼通常是用來由原碼求補碼或者由補碼求原碼的過渡碼。在原碼的基礎上,正數的補碼反碼是其本身,負數的反碼是符號位保持不變,其餘位取反。
補碼:
- 正數的補碼是其本身,負數的補碼是在其反碼的基礎上+1。
比如數字6:
- 原碼:00000000 00000000 00000000 00000110
- 反碼:00000000 00000000 00000000 00000110
- 補碼:00000000 00000000 00000000 00000110
比如數字-6:
- 原碼:10000000 00000000 00000000 00000110
- 反碼:11111111 11111111 11111111 11111001 (符號不動 其餘取反)
- 補碼:11111111 11111111 11111111 11111010 (反碼+1)