计算字符串的校验和

时间:2015-12-06 23:49:13

标签: java twos-complement

我必须在我的java代码中计算超过2个字符的校验和。 如果它的' HI - > ASCII值是

72 - 01001000
73 - 01001001
--------------
     10010001 
     01101110 - 1's complement (110 in decimal) - checksum

我通过了72,73和110.如果我调试代码,72 + 73会在我的代码中产生-111。如果我以十进制格式计算它的145.为什么是-111?

byte[] bytes = "01001000 01001001 01101110".getBytes();
for(byte b: bytes) {
            sum += b;
        }

0 个答案:

没有答案