官术网_书友最值得收藏!

1.5.3 位運算符

1-10 位運算符

位運算按照數據在內存中的二進制位(bit)進行操作,它一般用于算法設計、驅動、圖像處理、單片機等底層開發。位運算符只能用來操作整數類型,它按照整數在內存中的二進制形式進行計算。Python支持的位運算符如表1-8所示。

表1-8 位運算符及功能說明

位運算指令使用“0”“1”兩個布爾操作數(bool)對位狀態進行邏輯操作,邏輯操作的結果送入存儲器Y中。表1-9到表1-12為對應的邏輯“與”“或”“異或”和“取反”運算。

表1-9 邏輯“與”運算

表1-10 邏輯“或”運算

表1-11 邏輯“異或”運算

表1-12 邏輯“取反”運算

左移運算符“<<”用來把操作數的各個二進制位全部左移若干位,高位丟棄,低位補0。

例如,9<<3可以轉換為如下的運算:

右移運算符“>>”用來把操作數的各個二進制位全部右移若干位,低位丟棄,高位補0或1。如果數據的最高位是0,那么就補0;如果最高位是1,那么就補1。

例如,9>>3可以轉換為如下的運算:

【例1-27】 位運算。

運算結果:

例中出現的-7,其二進制的寫法是“各位取反,再加一”,即11111001。

主站蜘蛛池模板: 靖江市| 瑞金市| 西畴县| 河西区| 武威市| 上饶市| 鄂托克旗| 吉首市| 台湾省| 东方市| 固阳县| 萨嘎县| 仙游县| 凤庆县| 东乡族自治县| 香格里拉县| 丽水市| 罗山县| 贵港市| 措勤县| 应城市| 都江堰市| 乐山市| 正定县| 静海县| 云龙县| 临潭县| 伊吾县| 宁津县| 微山县| 昆山市| 平定县| 麻栗坡县| 福清市| 黑龙江省| 阿合奇县| 桂东县| 天祝| 无为县| 米林县| 绍兴市|