C 浮點數轉換為定點數

2022-04-28 23:21:14 字數 1092 閱讀 6565

筆者最近在程式設計的時候,要控制浮點數的精度進行計算和對比,在網上經過一系列查詢後終於

在csdn上面找到了相關的內容,雖然控制浮點數的精度後沒有效能上的提公升,筆者知道了如何修改

和控制浮點數的精度了,總的來說,每天要進步一點點。

**如下:

1 #include "

cuda_runtime.h

"2 #include "

device_launch_parameters.h"3

4 #include 5

6 #include 7 #include 8 #include 9 #include 10

11//

功能:四捨五入(double),支援正負數

12//

dsrc : 待四捨五入之數

13//

ibit : 保留的小數字數。 0 - 不保留小數、1 - 保留一位小數

14//

返回值:返回計算結果

15//

16double round(_in_ double dsrc, _in_ int

ibit)

1727

28//

若 為負數

29if (0 >dsrc)

3040

41//

若為非負數

42else

4347

48//

返回計算結果

49return

retval;50}

5152

53 template54 t round(t dsrc, int

ibit)

59////////////////////////////////////

60 t retval = 0.0f;61

int tmp = 0;62

63//

1.若小於0

64if (0 >dsrc)

73else

//2.若大於》0

7478

return

retval;79}

8081

int main(void

)

precision

浮點數 定點數

浮點數是表示小數的一種方法.所謂浮點就是小數點的位置不固定,與此相反有定點數,即小數點的位置固定.整數可以看做是一種特殊的定點數,即小數點在末尾.8086 8088中沒有浮點數處理指令,不過從486起,cpu內建了浮點數處理器,可以執行浮點運算.一般的浮點數有點象科學計數法,包括符號位 指數部分和尾...

定點數和浮點數 定點數和浮點數計算

這個東西其實不是很難,但是確實足夠繞的,因為從十進位制的加減乘除轉換到二進位制的加減乘除就已經很麻煩了,然後為了選拔人才,不給你二進位制,直接給你十六進製制,當然最麻煩的還是補碼和移碼,確實足夠 但是給予足夠的練習還是可以比較熟練的,公式稍後會整理到置頂的公式大全中。可以看完了以後去嘗試一下相關計算...

定點數與浮點數

1 定點數 定點數指小數點在數中的位置是固定不變的,通常有定點整數和定點小數。在對小數點位置作出選擇之後,運算中的所有數均應統一為定點整數或定點小數,在運算中不再考慮小數問題。1 定義 資料中小數點位置固定不變的數 2 種類 定點整數 3 小數點在符號位與有效位之間。注 定點數受字長的限制,超出範圍...