[英]C# Byte Calculator
我的问题是,例如,当我将0x02
添加到0xFF
,我得到的值是0x101
,这是理所当然的,但是从0xFF + 0x02
获得值0x01
还是有可能的 因此,如果值超过0xFF
,它将重置为0x00
。
修改为0x100
result = (0x02+0xff)%0x100
如果要获取一个byte
我们将其IntegerOverflowException
转换为byte
(并在unchecked
的情况下,在可能溢出的情况下切换IntegerOverflowException
):
byte a = 0x02;
byte b = 0xFF;
// unchecked: do not throw exception on overflow
byte result = unchecked((byte) (a + b));
或(如果要执行的操作很多 ):
byte a = 0x02;
byte b = 0xFF;
unchecked {
byte result1 = (byte) (a + b);
byte result2 = (byte) (2 * a + b);
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.