计算机基础知识---位运算的简介
生活随笔
收集整理的這篇文章主要介紹了
计算机基础知识---位运算的简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Author:baiyucraft
BLog: baiyucraft’s Home
1.什么是位運算
??稍微有點計算機基礎的都知道一點,在程序中的所有數在計算機內存中都是以二進制的形式存儲的。位運算就是直接對整數在內存中的二進制進行操作。明白了這個,讓我們來看看在Python中有哪些位運算符。
2.位運算符
| & | 按位與 | 兩個數相應位都為1,則該位的結果為1,否則為0 |
| | | 按位或 | 兩個數相應位有一個為1,則該位的結果為1,否則為0 |
| ^ | 按位異或 | 兩個數相應位不同時,則該位的結果為1,否則為0 |
| ~ | 按位取反 | 對數的每一個位取反,即1變0,0變1 |
| << | 左移運算 | 將數的每個位向左移,高位丟棄,低位補0 |
| >> | 右移運算 | 將數的每個位向右移,高位補0,低位丟棄 |
3.位運算符舉例
??以a = 52和b = 1314為例
1)按位與 & : 兩個數相應位都為1,則該位的結果為1,否則為0
0000 0011 0100 --- 52& 0101 0010 0010 --- 1314—————————————————0000 0010 0000 --- 322)按位或 | : 兩個數相應位有一個為1,則該位的結果為1,否則為0
0000 0011 0100 --- 52| 0101 0010 0010 --- 1314—————————————————0101 0011 0110 --- 13343)按位異或 ^ : 兩個數相應位不同時,則該位的結果為1,否則為0
0000 0011 0100 --- 52^ 0101 0010 0010 --- 1314—————————————————0101 0001 0110 --- 13024)按位取反 ~ : 對數的每一個位取反,即1變0,0變1(以該數存儲為16位無符號整數為例)
以該數存儲為16位無符號整數為例:~ 0000 0101 0010 0010 --- 1314——————————————————————1111 1010 1101 1101 --- 64221以該數存儲為16位有符號整數為例(第一位為符號位,在計算機中,負數以補碼存儲):~ 0000 0101 0010 0010 --- 1314——————————————————————1111 1010 1101 1101 --- -13155)左移運算 << : 將數的每個位向左移,高位丟棄,低位補0(以該數存儲為16位無符號整數為例)
<<2 0000 0101 0010 0010 --- 1314————————————————————————0001 0100 1000 1000 --- 52566)右移運算 >> : 將數的每個位向右移,高位補0,低位丟棄(以該數存儲為16位無符號整數為例)
>>2 0000 0101 0010 0010 --- 1314————————————————————————0000 0001 0100 1000 --- 328總結
以上是生活随笔為你收集整理的计算机基础知识---位运算的简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络专业函授,函授计算机专业都考什
- 下一篇: cesium贴图