2

数値が偶数か奇数かを識別しようとしています。たとえば、その数値の左側のビットを取得するだけでこれを達成できると思います。

number    bit      odd
  1       0001      1
  2       0010      0
  3       0011      1
  4       0100      0

したがって、最後のビットが 1 の場合は奇数、0 の場合は偶数です。

これをpythonで解決するにはどうすればよいですか?もちろん、タイトルのようにビット演算を使用して、数値の最後のビットを取得したいだけです。

ありがとうございました。

4

3 に答える 3

6

ビット単位の and を使用し&ます。

odd = number & 1

In [24]: for number in range(1, 5):
   ....:     print(number & 1)
   ....:     
   ....:     
1
0
1
0
于 2013-04-13T19:05:26.097 に答える
0

通常、このようなタスクにはモジュロ演算子を使用します。

1 % 2 # gives you 1 (odd)
2 % 2 # gives you 0 (even)
于 2013-04-13T19:06:48.553 に答える
0

数値が偶数か奇数かを確認するには、次を使用します

if a%2:
    #do stuff
 else:
     #do stuff
于 2013-04-13T19:06:51.277 に答える