我嘗試從modbus轉換值。 設備顯示「-1.0」,退色值爲65535(uint16)。 我現在嘗試將此值重新轉換爲double。 我已經嘗試過不同的演員陣容。 這讓我總是65353.00 :(將double轉換爲uint和retour
我們如何轉換成雙重否定的uint值?
typedef unsigned short uint16;
int main() {
double dRmSP = -1.0; //-1.0000 ok
uint16 tSP = static_cast<uint16>(dRmSP); // = 65535 ok
// retour
double _dRmSP = static_cast<double>(tSP); // = 65535.0000 why??
// try
double _dRmSP_ = static_cast<double>(static_cast<int>(tSP)); // =65535.0000 why??
return 0;
}
做最好的解釋步驟如何從一個「負」單元值原路折回RETOUR。謝謝! –