我們在ADAS的的開發測驗程序中,經常會遇到浮點數的顯示問題,在ECU中浮點數的存盤經常使用4個位元組,很多數人遇到此類問題,都是直接到網上搜索浮點數處理軟體或者網頁工具來顯示浮點數,這樣給開發測驗程序增加了不必要的作業量和手動錄入程序,
其實CAPL中就自帶處理浮點數的函式,只需要稍微寫一段小程式就可以完美解決了,直接上原始碼:
byte data[4]; // 四個位元組浮點數
dword temp;
temp = data[0] << 24;
temp += data[1] << 16;
temp += data[2] << 8;
temp += data[3]; // 將陣列轉換為四個位元組數資料
floatValue = interpretAsFloat(temp); // CAPL中提供的浮點數轉換函式,將dword型別轉換為浮點數型別
@floatdata = (double)floatValue; // 這里將浮點數強制轉換為double型別,
賦值給系統變數然后需要到environment->system variables里邊定義一個double型別的變數floatdata(environment->system variables中對浮點數的定義只有double型別),
接下來就可以在Panel里定義一個控制元件,然后attach這個變數floatdata,這樣Panel中就可以顯示浮點數了,
有用的朋友歡迎收藏點贊!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226974.html
標籤:其他
上一篇:C語言用三目運算實作判斷大寫
