python按位右移的作用_python入门之左移,右移,按位与,按位或,按位异或,按位取反...
1.<
將數字的位向左移動指定的位數(二進制表示);
例:2<<2輸出8
2的二進制表示為10,向左移動2位為1000,十進制為8.
2.>>(右移)
將數字的位向右移動指定的位數(二進制表示);
例:11>>1輸出5
11的二進制表示為1011,向右移動1位為101,十進制為5.
3.&(按位與)
將數字(二進制)對應位數比較,若對應位都為1,則對應位為1,否則為0;
例:5&3輸出1
5的二進制為101,3的二進制為011,按位與結果為001,十進制為1.
4.|(按位或)
將數字(二進制)對應位數比較,若對應位至少有一個為1,則對應位為1,若對應位都為0,則對應位為0;
例:5|3輸出7
5的二進制為101,3的二進制為011,按位或結果為111,十進制為7.
5.^(按位異或)
將數字(二進制)對應位數比較,若對應位只有一個為1,則對應位為1,否則對應位為0;
例:5^3輸出6
5的二進制為101,3的二進制為011,按位或結果為110,十進制為6.
6.~(按位取反)
計算機內部在做數學運算時(也就是計算機的0和1的運算),都是以補碼為標準的,說白了計算機中就一種碼那就是補碼,而現實社會中的編碼規則,例如原碼、反碼都是我們自定義的,為了和計算機中的補碼形成轉換關系。所以說在我們手工計算這類由計算機計算的01運算,要站在計算機的角度。因此首先就要將我們的原碼反碼全都先轉為補碼,再來計算.
正數的原、反、補碼都是它本身;負數的原碼最高位為1開頭,反碼是最高符號位不變,其余位在原碼的基礎上取反,補碼是在反碼的基礎上+1即可得到.
例:~5輸出6
5的補碼:00000101
00000101按位取反,取反結果為: 11111010
這里的結果是用補碼表示的,還是機器表示形式,轉化為自然語言的編碼,把結果轉化為原碼:
補碼-1轉為反碼: 11111010 - 1 = 11111001
反碼再取反轉為原碼:11111001 = 10000110
原碼轉為十進制,答案就是-6.
x按位取反運算公式為: -(x+1)
標簽:右移,二進制,補碼,取反,按位,對應,原碼,位為
總結
以上是生活随笔為你收集整理的python按位右移的作用_python入门之左移,右移,按位与,按位或,按位异或,按位取反...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu c++ 实现自动回车键功能
- 下一篇: tp和 vue 管理后台管理系统_vue