我有一個C++向量充滿了來自TCP數據段的uint8_t值。我正在專門尋找應該在矢量的第一個索引處的兩個值中的一個值。將8位無符號整數與HEX失敗進行比較
我有以下if語句來表達我的邏輯。
if (ui8BufferIn.at(0) != 0xE4 || ui8BufferIn.at(0) != 0xE2){
printf("\nWe have a problem, no parsing will be done, Package Type = %u\n", ui8BufferIn.at(0));
proceed = false;
}
上面的if語句在執行時不應該執行。我碰到下面的打印輸出:
We have a problem, no parsing will be done, Package Type = 226
所以,你不必做數學題,226
爲整數是十六進制0xE2
。
我一直在這一段時間,所以它可能很簡單,但任何幫助將是偉大的!
我懷疑你想&&而不是||。事實上,你的狀況總是評估爲真。 – nephtes