繁体   English   中英

C#字节计算器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM