第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

四舍五入整數(shù)除法(而不是截斷)

四舍五入整數(shù)除法(而不是截斷)

墨色風雨 2019-11-28 10:46:19
我很想知道如何將數(shù)字四舍五入到最接近的整數(shù)。例如,如果我有:int a = 59 / 4;如果以浮點數(shù)計算,則為14.75;如何將結(jié)果存儲為“ a”中的15?
查看完整描述

3 回答

?
阿波羅的戰(zhàn)車

TA貢獻1862條經(jīng)驗 獲得超6個贊

int a = 59.0f / 4.0f + 0.5f;

這僅在分配給int時有效,因為它會丟棄'。'之后的任何內(nèi)容。


編輯: 此解決方案將僅在最簡單的情況下工作。一個更強大的解決方案是:


unsigned int round_closest(unsigned int dividend, unsigned int divisor)

{

    return (dividend + (divisor / 2)) / divisor;

}


查看完整回答
反對 回復 2019-11-28
?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

整數(shù)舍入的標準習慣用法是:


int a = (59 + (4 - 1)) / 4;

您將除數(shù)減一加到除數(shù)中。


查看完整回答
反對 回復 2019-11-28
?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

適用于任何除數(shù)和除數(shù)符號的代碼:


int divRoundClosest(const int n, const int d)

{

  return ((n < 0) ^ (d < 0)) ? ((n - d/2)/d) : ((n + d/2)/d);

}

如果您更喜歡宏:


#define DIV_ROUND_CLOSEST(n, d) ((((n) < 0) ^ ((d) < 0)) ? (((n) - (d)/2)/(d)) : (((n) + (d)/2)/(d)))

linux內(nèi)核宏DIV_ROUND_CLOSEST對負除數(shù)不起作用!


查看完整回答
反對 回復 2019-11-28
  • 3 回答
  • 0 關(guān)注
  • 1137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號