%余数函数返回错误的答案

时间:2019-06-15 21:35:52

标签: c++ c

我正在尝试使用余数运算符%创建一个将在一个实例中找到8位数字的前半部分的函数,如果将0更改为1,它将仅找到后半部分。但是,带有%的方程始终会返回错误的答案。

我已经发现,当该8位数字的开头为0时会发生此错误,但我不明白为什么。

这就是我所拥有的

int nibble(int byte, int whichNibble){
    int nibble;
    if (whichNibble == 0){
        nibble = (byte - (byte % 10000))/10000;
        return nibble;
    }
    else{
        nibble = byte % 10000;
        return nibble;
    }
}

当我使用nibble(01010101, 1)时,它将返回6305,而应返回0101。

0 个答案:

没有答案