没有bug队——加贝——Python 53,54
生活随笔
收集整理的這篇文章主要介紹了
没有bug队——加贝——Python 53,54
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
53.題目:學習使用按位異或 ^ 。
54.題目:取一個整數(shù)a從右端開始的4?7位。
| & | 按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結(jié)果為1,否則為0 | (a & b) 輸出結(jié)果 12 ,二進制解釋: 0000 1100 |
| | | 按位或運算符:只要對應的二個二進位有一個為1時,結(jié)果位就為1。 | (a | b) 輸出結(jié)果 61 ,二進制解釋: 0011 1101 |
| ^ | 按位異或運算符:當兩對應的二進位相異時,結(jié)果為1 | (a ^ b) 輸出結(jié)果 49 ,二進制解釋: 0011 0001 |
| ~ | 按位取反運算符:對數(shù)據(jù)的每個二進制位取反,即把1變?yōu)?,把0變?yōu)? 。~x?類似于?-x-1 | (~a ) 輸出結(jié)果 -61 ,二進制解釋: 1100 0011,在一個有符號二進制數(shù)的補碼形式。 |
| << | 左移動運算符:運算數(shù)的各二進位全部左移若干位,由?<<?右邊的數(shù)字指定了移動的位數(shù),高位丟棄,低位補0。 | a << 2 輸出結(jié)果 240 ,二進制解釋: 1111 0000 |
| >> | 右移動運算符:把">>"左邊的運算數(shù)的各二進位全部右移若干位,>>?右邊的數(shù)字指定了移動的位數(shù) | a >> 2 輸出結(jié)果 15 ,二進制解釋: 0000 11 |
53.題目:學習使用按位異或 ^ 。
程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
#53 a = 0o77 b = a ^ 3 print ('a ^ 3 = %d' % b) b ^= 7 print ('a ^ b = %d' % b)輸出:
?
54.題目:取一個整數(shù)a從右端開始的4?7位。
程序分析:可以這樣考慮:
(1)先使a右移4位。
(2)設(shè)置一個低4位全為1,其余全為0的數(shù)。可用~(~0<<4)
(3)將上面二者進行&運算。
輸出:以1為例
?
總結(jié)
以上是生活随笔為你收集整理的没有bug队——加贝——Python 53,54的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java执行数据库命令行_java程序执
- 下一篇: 2048java课程设计报告_2048小