用整數表示小數

2021-10-01 04:22:40 字數 467 閱讀 9605

在嵌入式開發過程中,為了在顯示端顯示小數、負數等非uint型別數值,往往採用將資料放大10倍、100倍等,今天看到另一種方法,特此記錄

這個方法的核心公式是y = kx+m

y:顯示值,最終在顯示屏上可見的值

x:傳輸值,和顯示屏通訊時傳輸的數值,一定是uint資料型別

k:解析度,該值確定了每個取值的步進

m:取值偏移量增量,通過m值將y值偏移到滿足x值為uint資料型別的要求,m值預設等於ymin,確保xmin=0

舉個例子:

溫度計的取值範圍為-30~50,解析度為0.1,則

xmin = (-30+30)/0.1=0

xmax=(50+30)/0.1=800

這樣,顯示屏那邊只要把接收到的值*k+m顯示即可

羅馬數表示整數

羅馬數字共有七個,即 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 按照下面三條規則可以表示任意正整數。重複數次 乙個羅馬數字重複幾次,就表示這個數的幾倍。右加左減 在乙個較大的羅馬數字的右邊記上乙個較小的羅馬數字,表示大數字加小數字。在乙個較大的數字的左邊記上乙個較小的...

整數表示問題。

我們知道,如果x,y互素時ax by可以表示任意整數 其中a,b為整數 如果設定條件x,y 0,並且ax by 0時,求能表示的整數集中連續的整數最小的是多少?例如輸入x 3,y 4.整數集為0,3,4,6,7,8,9 則輸出6 輸入1行x和y,輸出一行表示最小整數 其中x,y為32位整數且互素。現...

整數表示法

整數表示法 題目詳情 我們知道,如果x,y互素時ax by可以表示任意整數 其中a,b為整數 如果設定條件x,y 0,並且ax by 0時,求能表示的整數集中連續的整數最小的是多少?例如輸入x 3,y 4.整數集為0,3,4,6,7,8,9 則輸出6 輸入1行x和y,輸出一行表示最小整數 其中x,y...