1
我有一個字符變量,我只對兩個最不重要的十六進制值感興趣。我如何放棄其他價值?例如:如何獲得C++中字符的最低有效位
char input = 0xFFFFFFD1;
我想:
output = 0xD1;
我想:
output = (input&0x000000FF);
但比我剛剛得到:
output = 0xFFFFFFD1
我如何解決這個難題?
我有一個字符變量,我只對兩個最不重要的十六進制值感興趣。我如何放棄其他價值?例如:如何獲得C++中字符的最低有效位
char input = 0xFFFFFFD1;
我想:
output = 0xD1;
我想:
output = (input&0x000000FF);
但比我剛剛得到:
output = 0xFFFFFFD1
我如何解決這個難題?
很可能您的平臺上的char
是8位。在這種情況下,這樣的:
char input = 0xFFFFFFD1;
是與此相同:
char input = 0xD1;
我還假設output
是int
類型。在這種情況下,您需要:
int output = (unsigned char)input & 0xFF;
[如果這不是問題,那麼您需要更新您的問題以包含您使用的實際代碼。]
謝謝,使輸出一個int和輸入無符號解決了問題! – Marty
將您的代碼放在這裏! – trumpetlicks
一塊代碼將是有用的 –