[python] Re: Začiatočník - bitové operace
geon
geon na post.cz
Čtvrtek Říjen 20 22:47:34 CEST 2005
bobo napsal(a):
> Skúšam prvé nesmelé kroky s Pytonom. Preštudoval som pár tutoriálov a
> príkladom. Potrebujem pracovať s premennou typu Byte. Predtým som
> programoval v C a tam to nebol problém, ale Pyton mi to konvertuje na Int.
> Nevie mi niekto pomôcť radou???
>
>
Python nezná proměnnou typu Byte. Vše co mu napíšeš jako číslo, je obyčejné číslo. K tomu jsou
zaměřeny i bitově orientované operace, které správně fungují nad obyčejnými čísly a vrací obyčejné
číslo. Bitový převod i obě konverze se dějí "uvnitř".
>>> 5 <<2
20
>>> 5>>2
1
>>> int(str(101))
101
>>> int(str(101),2)
5
Máš-li tedy proměnnou "typu byte", musíš z ní nejdříve udělat obyčejné číslo, pak použít operaci a
výsledek zpětně převést na "byte". Na zpětný převod je nejlépe si udělat funkci, protože pokud vím,
Python toto nemá v základní výbavě.
A nebo si můžeš udělat funkce přímo na bitový posun nad císly tyu 10110011 a ušetřit tak převody
mezi číselnými soustavami.... Možná i na to existuje nějaký modul, ale na prosté bitové operace by
neměl být problém vymyslet funkce....
--
geon
Vyjímka je pravidlo. Rekurzivní.
Další informace o konferenci Python