[英]Add() method won't return correct result
因此,我必須創建一個 add 方法,該方法將采用兩個 16 位整數並在不使用算術運算符的情況下返回該結果。 不幸的是,當輸入兩個數字(如 5 和 10)時,它返回 0 而不是 15。我的代碼有什么問題嗎? 代碼如下,在 C 中完成
addition_subtraction_result add(uint16_t augend, uint16_t addend) {
addition_subtraction_result addition;
while (addend != 0){
int carry = augend & addend;
augend = augend ^ addend;
addend = carry << 1;
}
addition.overflow = false;
return addition;
}
如果您需要更多信息,請與我們聯系。 謝謝!
你返回addition
(希望是按值),你唯一設置的是addition.overflow = false;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.