Queeee
Апрель 4, 2012 14:12:51
Скажите, где можно почитать про функции с бинарными числами. Про функции и, или. Вот мне, к примеру, нужно обыединить 2 бита - со второго байта в строке, с третьим байтом и узнать десятичное значение с помощью функции ord().
Да и функция ord() работает лишь с одним байтом…поэтому ord(a<<6 + a ) - че делать?
fata1ex
Апрель 4, 2012 15:06:38
Неужели сложно зайти в поисковик и написать что-нибудь вроде ‘binary operators python’ или ‘bitwise operators python’.
1,
2, …
helm2004
Апрель 4, 2012 15:19:24
Трудно, ибо это чужой, для многих посетителей этого сайта, язык. Как же приятней пообщаться на русском (чужом для меня, но намного роднее чем английский) языке!
fata1ex
Апрель 4, 2012 15:23:54
Английский должен стать для программиста практическим родным (особенно при поиске). Как там говорится: “Английский почти так же прост как Python”.
py.user.next
Апрель 6, 2012 10:21:22
Queeee
и узнать десятичное значение с помощью функции ord()
а причём тут ord() ?
есть встроенные функции int() и bin()
help(int)
help(bin)
побитовые операции можно узнать из материалов по ассемблеру или си
по си есть книга K&R2, там есть пункт про побитовые операции с несколькими упражнениями
Griffon
Апрель 8, 2012 11:47:03
Вообще то ord может работать с большими значениями.
Но!
Что возвращает функция? Что вы ей даете? Что хотите получить?
У вас есть число в двоичном виде (код символа, насколько я понимаю).
Вы хотите выполнить бинарные операции и получить число в десятичном виде.
Так вот ещё вопросы. Вы уверены что хотите преобразовать это число в символ некой функцией, и затем обратно в число с помощью функции ord? Вы думаете это как то изменит само число?
Так что же вам надо? Вам надо почитать про бинарные операции, или о преобразовании чисел в различные системы счисления? Вам ничего из этого не надо. :)
a = ord('a')
a = a << 2
# a - число в десятичной форме
print a
# Магия?
Queeee
Апрель 9, 2012 10:33:33
Griffon, вы правы, - все проще. Еще помогают операторы “&” и “\” С ними все тоже, что и в С.