位元運算
邏輯上的運算子在 C 中的語法分別如下:
AND (&)
OR(|)
NOT(!)
XOR(^)// bit值不一樣為 1
complement(~)
shift (<<, >>)
bitwise 的操作常與 "0x" 這種 16 進位表示法,方便轉換操作。
[例題] 基本運算
[例題] mask 方法做 bitwise 操作
複製:memcpy 和 strcpy
1. 記憶體複製
memcpy() 可以複製任何類型資料,不處理字串結束 '\0' 的情況,當 *src 長度大於 *dest 時會 buffer overflow (編譯時不會錯誤)。
2. 字串複製
strcpy() 只能用於字串複製,不需要指定長度,因為會自動偵測以 '\0' 為結尾,當 *src 長度大於 *dest 時會 buffer overflow (*dest 將沒有 \0)。
最后更新于
这有帮助吗?