作者KyoYang (–羊–)
看板Python
标题[问题] 有关位元组转换
时间Thu Apr 10 13:30:34 2008
请教各位先进,
今假设有一值为 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
1F:推 weijr:前面会多出东西,是因为你没把该去掉的东西去掉 04/10 13:51
2F:→ weijr:python 有互动 shell,多多利用吧 04/10 13:53
3F:→ KyoYang:不好意思,请问这部份该如何去掉?可否说得更详细一点… 04/10 13:52
4F:→ KyoYang:我就是用 shell run的 ^^" 04/10 13:54
5F:推 liangjr:再加一层mask吧 跟你中间几个一样 x = x & 0x0ffffffff 04/10 15:29
6F:→ KyoYang:感谢l大,此法OK! 04/10 16:57