В питоне бит-трейдинг не имеет особых преимуществ, поэтому я бы сказал:
c, f= divmod(your_number, 256)
РЕДАКТИРОВАТЬ: чтобы сделать ваше намерение еще более очевидным для источника просмотра с полномочиями двух (если такой зверь существует), вы можете заменить простой 256
гораздо более красочными альтернативами, такими как 1<<8
, 2**8
, 0x100
или 0400
. Постоянное сворачивание, выполняемое оптимизатором глазков начиная с версии 2.5, гарантирует, что любой из них точно такой же, как при использовании 256
(я, очевидно, говорю о первых двух альтернативах, которые являются выражениями, которые оценивают 256
; последние два постоянная 256
).
$ python
Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import dis
>>> dis.dis(compile("c, f= divmod(your_number, 1<<8)", "", "exec"))
1 0 LOAD_NAME 0 (divmod)
3 LOAD_NAME 1 (your_number)
6 LOAD_CONST 3 (256)
9 CALL_FUNCTION 2
12 UNPACK_SEQUENCE 2
15 STORE_NAME 2 (c)
18 STORE_NAME 3 (f)
21 LOAD_CONST 2 (None)
24 RETURN_VALUE