gpt4 book ai didi

c++ - unsigned char的减法运算

转载 作者:太空宇宙 更新时间:2023-11-04 16:17:16 25 4
gpt4 key购买 nike

我对 unsigned char 很好奇。我对 unsigned char 很好奇。我不小心对 unsigned char 做了减法运算。我知道我不应该那样做。但我有点好奇特定答案是如何得出的。任何人都可以在位级别解释这个吗?

unsigned char x = 150;
unsigned char y = 229;

unsigned char z = x - y;

最后我在调试过程中得到了 177 的 z

我在 visual studio 2008 中运行这段代码。

最佳答案

Unsigned integers, declared unsigned, shall obey the laws of arithmetic modulo 2^n where n is the number of bits in the value representation of that particular size of integer.

(C++11 标准,3.9.1.5)

在大多数平台上,unsigned char 是 8 位,所以结果是 150 - 229 mod 256 = -79 mod 256 = 177。

关于c++ - unsigned char的减法运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21421998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com