close

gcc 4.6 有一個新功能就是支援128bit floating point

不論processor 是32 或 64 bits 都可正常運作

 

data type 為 _float128 f;

 

但要讀它用scanf ? 不行 !!!

印它? printf ? 可以

printf("%Qf",f);

 

strtoflt128 將string 轉成__float128 ; 這也是目前我唯一知道可以存值到__float128 的方法

另外也可以將__float128 轉成string , 利用quadmath_snprintf(.... );

兩個function 要include <quadmath.h>

 

我是用Ubuntu, 目前gcc 4.6 並沒法用apt-get install

要自己編source code,  大概快1小時我覺得

 

編好之後應該就好了

但是如果出現undefined reference to quadmath_snprintf .... 這類的東西的話

八成是沒link 到library,

只要打gcc -lquadmath ... 加上-lquadmath 應該就會work 了.

 

128bit floating point 我是用於處理一些較大的數.

利用floating point 模擬 integer . 大概可以精準到10^32 上下沒問題.

比起long long 10^18 好很多.

 

 

 

arrow
arrow
    全站熱搜

    lettice0913 發表在 痞客邦 留言(0) 人氣()