簡體   English   中英

這是GMP 4.1.2中的錯誤,還是我做錯了什么?

[英]Is this a bug in GMP 4.1.2 or is it something I'm doing wrong?

在這部分代碼中,我傳遞了字符串"kellogs special k" ,得到1 ,這表示該字符串是整數。 我到底在做什么錯? 還是GMP問題?

#define F(x) mpf_t (x); mpf_init( (x) );

long __stdcall FBIGISINTEGER(BSTR p1) {
    USES_CONVERSION;
    F(n1);
    LPSTR sNum1 = W2A( p1 );
    mpf_set_str( n1, sNum1, 10 );
    return mpf_integer_p( n1 );
}

順便說一句,如果有人建議使用更新的GMP,請給我Windows靜態LIB的網址。 TIA。

您應該檢查mpf_set_str的返回值。 成功返回0 ,失敗返回-1 在這種情況下,它會返回一個故障,並且n1保持不變。 mpf_init將其初始化為零,因此使用mpf_integer_p測試零是否為整數是mpf_integer_p返回true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM