19 ŞUBAT 2014, ÇARŞAMBA
Neden ~Gerçek -2 sonucu mu?
Konsol: Python
~True
Verir bana
-2
Neden? Birisi ikili bana bu özel durumda açıklayabilir mi?
CEVAP
19 ŞUBAT 2014, ÇARŞAMBA
int(True)
nedir? 1
.
1
nedir? :
00000001
~1
nedir? :
11111110
Two's complement 14*1
1Tüm bit çevirme, elde edilen sayıya 1 ekleyin ve bir sonuç olarak yorumluyorikili gösterimibu büyüklükte ve bir eksi işareti ekleyin numarası 1 ile başlar beri ():
11111110 → 00000001 → 00000010
↑ ↑
Flip Add 1
MSB 1 olduğundan 2, ama negatif gelir.
Kayda değer:
Düşün bool
sen de bulursun işte bu sayısal doğa - iki değer, True
False
, ve onlar sadece "özel" sürümleri tamsayılar 1 ve 0 yalnızca yazdırma kendilerini farklı. Onlaralt sınıflartamsayı int
tür.
Onlar tam olarak 1 bool
str
repr
onları farklı görünmesi için yeniden tanımlıyor dışında 0 gibi davranır.
>>> type(True)
<class 'bool'>
>>> isinstance(True, int)
True
>>> True == 1
True
>>> True is 1 # they're still different objects
False
Bunu Paylaş:
Neden bash "echo [t]" "...
Neden ~Gerçek -2 sonucu mu?...
Neden sıralanmamış bir dizi daha hızlı...
Neden bu iki kez (1927) garip bir sonu...
Neden HTML düşün” renk? “chucknorris m...