エンディアンの変換
30分プログラム、その787。anarchy golf - Little Endian Calculatorにインスパイアされて、エンディアンの変換をやってみました。
8ビットごとに区切って順番をひっくりかえしているだけです。
使い方
>>> "%x" % flip_endian(0x3310) '1033'
t2
ソースコード
#! /usr/bin/python # -*- mode:python; coding:utf-8 -*- def split(bytes, value): if bytes == 0: return [] else: return split(bytes-1, value >> 8) + [ value & 0xFF ] def join(xs): return reduce(lambda x,y: (x << 8) | y ,xs) def flip_endian(n): return join(reversed(split(2,n))) print "%x" % flip_endian(0x3310)