gibi bitleri yorumlamak için tamamlayıcı kod kullanmasına izin vermek için ne yapabilirim? Aslında, sadece Python'un c ile aynı şeyi yapmasını istiyorum. c örneğinpython'un, c bit
:
ancakint num = 1 << 31; // num's bits should be 0x8000 0000.
printf("%d\n", num); // the print is -2147483648, because of complememnt.
, Python:
>>> num = 1 << 31
>>> print num
2147483648
>>> print int.bit_length(num)
32
>>> print '{0:b}'.format(num)
10000000000000000000000000000000
Python num yorumlamak için gerçek kodu kullanabilirsiniz gibi görünüyor. python'un sadece c gibi bitleri yorumlamak için tamamlayıcı kodu kullanmasına izin vermek için ne yapabilirim. Bunun bu tamsayı ile bir sonraki yapmak istiyorum ne için yeterlidir umut
import ctypes
ctypes.c_int(1 << 31)
:
Bir python tamsayı almak için, 'ctypes.c_int (1 << 31) .value' – mgilson