我想了解如何在Python中執行位移操作。來自C#,它不以相同的方式工作。在Python中使用十六進制進行位移
C#代碼是;
var plain=0xabcdef0000000; // plaintext
var key=0xf0f0f0f0f123456; // encryption key
var L = plain;
var R = plain>>32;
輸出是;
000abcdef0000000 00000000000abcde
什麼是Python中的equivilent?我努力了;
plain = 0xabcdef0000000
key = 0xf0f0f0f0f123456
print plain
left = plain
right = plain >> 32
print hex(left)
print hex(right)
但是,它不起作用。 Python中的輸出是不同的。 0的填充缺失。任何幫助,將不勝感激!
什麼意思是「它不工作」? – ch3ka 2014-11-25 13:32:36
我沒有得到與Python版本相同的輸出。填充的0缺失。 – 2014-11-25 13:40:37
但你知道'0x00000000000abcde == 0xabcde',對嗎?無論如何,對於打印,'字符串格式化'將做到這一點。 – ch3ka 2014-11-25 13:43:11