我試圖將double轉換成little-endian十六進制字符串或直接轉換爲特定類型的long(見下文)。將double轉換爲LSBF(小端)十六進制字符串
以前,我將一個預定義的little-Endian十六進制字符串轉換爲long,如下所示。
string hcommand = "01AC"; char * p; long n = strtol(hcommand.c_str(), &p, 16);
這個按照要求工作。
現在我試圖將little-endian(最低有效字節優先)形式的double轉換爲十六進制字符串(然後替換上面代碼中的hcommand),或者直接從double轉換爲長度相同的類型見上面。
我試過了,它沒有像上面那樣處理。
double myDouble = 44033; long hcommand = (long)_byteswap_ulong((int)myDouble);
謝謝。
是的。我希望你明白*爲什麼* =) – paddy