[問題] 有關位元組轉換

看板Python作者 (–羊–)時間17年前 (2008/04/10 13:30), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
請教各位先進, 今假設有一值為 x = 0xd4c3b2a1 我打算做位元組的轉換,因此以四個bytes為一組將其反序排列, 理想的話應該是會變成 0xa1b2c3d4 = 2712847316 我是這樣寫的 x=(x>>24)|((x<<8)&0x00ff0000)|((x>>8)&0x0000ff00)|(x<<24) 但是結果會變成 59887867047101396 即 0xD4C3B2A1B2C3D4 這個結果 會多出前面的 d4c3b2 想請教該如何只顯示 a1b2c3d4 呢? -- ███ ▂▄▃ ││││ ˋ Mooncat~││││ 「為什麼 ◤ ◥▏*_▂ │││ 為什麼教授這麼雞掰 ▌█ 沒天理啊…」 ▅▇*Mooncat~ ˋ█▆◤ _ ▁▄▆▇ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.175.128

04/10 13:51, , 1F
前面會多出東西,是因為你沒把該去掉的東西去掉
04/10 13:51, 1F

04/10 13:53, , 2F
python 有互動 shell,多多利用吧
04/10 13:53, 2F

04/10 13:52, , 3F
不好意思,請問這部份該如何去掉?可否說得更詳細一點…
04/10 13:52, 3F

04/10 13:54, , 4F
我就是用 shell run的 ^^"
04/10 13:54, 4F

04/10 15:29, , 5F
再加一層mask吧 跟你中間幾個一樣 x = x & 0x0ffffffff
04/10 15:29, 5F

04/10 16:57, , 6F
感謝l大,此法OK!
04/10 16:57, 6F
文章代碼(AID): #17_QO0Pa (Python)
文章代碼(AID): #17_QO0Pa (Python)