這裏的問題是什麼,我現在有,我只是不明白它是如何錯誤的檢索32位整數字節...使用位運算符
getByte - Extract byte n from word x Bytes numbered from 0 (LSB) to 3 (MSB) Examples: getByte(0x12345678,1) = 0x56 Legal ops: ! ~ & ^| + << >> Max ops: 6 Rating: 2
int getByte(int x, int n) {
return ((x << (24 - 8 * n)) >> (8 * n));
}
什麼沒有關於它的工作(很明顯的)想法? – 2012-04-12 22:21:51
這是我得到的錯誤:錯誤:測試getByte(-2147483648 [0x80000000],3 [0x3])失敗... ...給出-128 [0xffffff80]。應該是128 [0x80] – asdfghjkl 2012-04-12 22:24:48
在使用非法操作員方面是錯誤的。 '-'運算符沒有在「Legal ops」下列出 – idefixs 2012-04-12 22:30:40