[問題] bitwise 如何取高低位元

看板C_and_CPP (C/C++)作者 (說好的性福呢?)時間16年前 (2009/10/26 18:20), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/3 (看更多)
假設今天我有一筆資料為 ULong x = 0xe8a105f4 UShort x1 = (UShort)x; UShort x2 = (x>>16); x1 == 0x5f4; //low x2 == ffffe8a1; //high 我在使用 UShort x2 = (x>>16) & 0x0000FFFF; 依然不行.. 但我用 printf("%x\n", x2 & 0x0000FFFF); 這樣x2 == e8a1 請問要如何才能取到高位址呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.197.35

10/26 18:38, , 1F
你預期的東西是什麼呢?這似乎與big/little endian有關
10/26 18:38, 1F
文章代碼(AID): #1AvNVorK (C_and_CPP)
文章代碼(AID): #1AvNVorK (C_and_CPP)