2011-12-02 23 views

回答

2

如果沒有一個大的整數庫(或者我不太瞭解的非標準SSE擴展),就不能對128位數據進行算術運算。
如果你只是需要將它存儲使用std::pair<uint64_t, uint64_t>還是結構:

struct bit128 
{ 
    uint64_t higher, lower; 
} 

如果你需要位運算使用std::bit_vector
如果你需要算術,你必須使用一個大的整數庫,如GMP

+0

第一句話在技術上不正確。這取決於平臺,而且你不需要圖書館 - 你可以自己做。 – Pubby

+0

@Pubby:你可以自己做所有事情。 – Dani

+0

OP從未說他*不是使用x64,在這種情況下128位算術可能使用RDX:RAX跨接寄存器。所以也許你的第一句話應該反映出它僅適用於32位系統 – Necrolis