SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • spyib

    spyib

    9 Ocak 2007