1
在升壓::理性類,如果我做boost :: rational - 防止默認減少(即2/2到1/1)?
boost::rational<int> r(2,2);
std::cout << r << std::endl;
結果將是1/1
。有沒有辦法將這個保留爲2/2
,而不必在理性班上寫一個包裝?理想情況下,我想這適用於除爲好,讓像
boost::rational<int> r(2,2);
boost::rational<int> s(2,2);
std::cout << r + s << std::endl;
會產生4/2
,而不是2/1
任何幫助,將不勝感激!
我懷疑任何精心設計的合理運算庫將允許這一點。只需在自己的代碼中保留所需的分母即可。 –
出於好奇,你能描述一下這種情況嗎? –
你會期望'1/6 + 1/10'有什麼結果? 4/15或16/60? – interjay