[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