我正嘗試使用以下代碼讀取十六進制值。它應該從dataFile中讀取一個值,並且該值應該是「810c0001」。讀取十六進制值在C++中給出錯誤的編號
int in;
dataFile>>hex>>in>>dec;
cout <<"I just wrote the value: "<<hex<<in<<dec<<endl;
我運行該程序後,輸出結果顯示爲「我剛寫入的值:7fffffff」。 我注意到這個問題只發生在最重要的位被填充。如果我將輸入'8'更改爲'7',我會得到以下正確輸出:「我只寫了值:710c0001」我可以用正確的值讀取哪些內容? 謝謝
十六進制810c0001是一個非常大的數字......你溢出你的目標類型。 –