2010-01-12 80 views
0

我正在研究稀疏矩陣的塊壓縮稀疏行格式。 我需要將非零元素轉換爲64位浮點。我需要一個語法在C或C++ 爲?如何在C程序中將十進制數轉換爲64位浮點數?

+3

稀疏矩陣中元素的類型是什麼? – 2010-01-12 10:44:15

+0

看到我的問題是, 我想將整數值轉換爲64位二進制浮點數.. 是否有任何語法可用於此? 以及什麼是這個二進制浮點數.. ?? plz rply .. 感謝您的時間.. – Gauri 2010-01-29 07:12:36

回答

1

你把你的號碼保存爲一個字符串嗎?如果是這樣做(這將在C和C++工作):

const char *number = "11.111"; // This the variable holding your number 
double num = atof(number); // This is your number saved as a double, that is usually 64 bit 

如果你把它保存爲intdoublefloat你可以簡單地做:

double num = other_variable; 

再次,它會工作在C和C++中。

+1

避免atof - 寧願strtod – 2010-01-12 10:45:46

+0

尼爾,爲什麼? [15個字符] – 2010-01-12 19:07:43

+0

由於strtod()(和strtol()就此而言)在轉換期間不需要在溢出時產生意外的結果。 012ofatof()對字符串「0.0」和某些無效輸入返回0.0。而對於「double strtod(const char * str,char ** ptr)」,如果ptr的值不是(char **)NULL,則它指向的變量被設置爲指向最後一個數字之後的字符,如果有的話,那被認可。如果不能形成數字,* ptr設置爲str,並返回零。 http://www.docs.hp.com/en/B2355-60127/strtod.3C.html – 2010-01-13 08:13:37

相關問題