[問題] 交換 BYTE 高低 4 位元

看板Python作者 (這個帳號是掛網用)時間14年前 (2011/12/31 21:08), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/2 (看更多)
for a in range(1000): b = ((a << 4) & 0xf0) + ((a >> 4) & 0x0f) print "%02x %02x" % (a, b) 請問有人知道有別的寫法嗎? 這種方式好像是很傳統的寫法 . python 應該可以用一些其他寫法表示出來 . 感謝 <(_ _)> -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.121.210

12/31 21:53, , 1F
先<< >> 後 &
12/31 21:53, 1F

12/31 21:59, , 2F
b=a//16%16+a%16*16
12/31 21:59, 2F

12/31 22:01, , 3F
c,d=divmod(a,16);b=c%16+d*16
12/31 22:01, 3F

12/31 22:02, , 4F
都差不多其實..?
12/31 22:02, 4F

12/31 22:03, , 5F
b = int(hex(100)[:1:-1], 16) 這個怎樣XD
12/31 22:03, 5F

12/31 22:04, , 6F
100 改成 a, 複製太快忘了改 :q
12/31 22:04, 6F

01/01 01:45, , 7F
用C語言的方法,使用Union? 要用到 ctypes
01/01 01:45, 7F

01/01 20:46, , 8F
tmp="%04x"%input;print tmp[2:]+tmp[:2]
01/01 20:46, 8F
文章代碼(AID): #1E_mb8Ws (Python)
文章代碼(AID): #1E_mb8Ws (Python)