Wpis z mikrobloga

dzień dobry #python #naukaprogramowania
czołem. mam taki kod
klik
i w poleceniu mam, że zamiast 'b * 2' mogę zrobić to poprzez użycie 'a << 1' tyle, że siedzę pół godziny i dalej nie wiem jak. (wiem że to samo mogę zrobic np. przez int('1101', 2) ale chcę to zrobic z <<.
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Brun0: Pewnie tak, ale np. użyłeś ord() gdzie bity mają wartość zawsze 1 albo 0, więc wystarczyłby int(a[0]). A w swoim rozwiązaniu używałeś "+" czy "I"?
Wtedy b = (b << 1) | int(a[0]) jest bardziej czytelne i poprawne semantycznie, bo przesuwasz bity w b o 1 w lewo i wykonujesz "or" w sensie binarnym z bitem z a[0].
  • Odpowiedz