亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

帶負值的模算子

帶負值的模算子

C++
瀟湘沐 2019-07-06 16:36:23
帶負值的模算子為什么這些行動:std::cout << (-7 % 3) << std::endl;std::cout << (7 % -3) << std::endl;給出不同的結果?-1 1
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

這個標志在這種情況下(即當一個或兩個操作數為負數時)是實現定義的。規范在第5.6/4節(C+03)中說,

二進制/運算符產生商,二進制%運算符從第一個表達式除以第二個表達式得到余數。如果/或%的第二個操作數為零,則行為未定義;否則(a/b)*b+a%b等于a。如果沒有,則剩余部分的標志是實現定義的。.

就C+03而言,這就是語言所要說的。


查看完整回答
反對 回復 2019-07-06
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

a % b

在c+默認情況下:


(-7/3) => -2

-2 * 3 => -6

so a%b => -1


(7/-3) => -2

-2 * -3 => 6

so a%b => 1

在python中:


-7 % 3 => 2

7 % -3 => -2

在c+到python中:


(b + (a%b)) % b


查看完整回答
反對 回復 2019-07-06
  • 3 回答
  • 0 關注
  • 376 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號