1
好吧,這是交易。我從二進制文件一次讀取1個字節。然後我把它放在這樣一個int變量:二進制數據整數在C
l = *rbyte;
l <<8;
<read another byte>
l |=*rbyte;
l <<8;
<read another byte>
l |=*rbyte;
l <<8;
<read another byte>
l |=*rbyte;
現在,這應該大概做工精細,並且像00 00 00 0D它返回13二進制數據,像6和9然而,對於二進制數據00 00 80 00,它只是簡單地返回128.當它實際上應該返回32768.什麼給?
嘗試使用無符號整型或長整型... –
解決辦法:'L = L << 8',你只計算不存儲結果W /只' l << 8' – nhahtdh
哦是的!該死的!對! – digvijay91