美文网首页
十六进制数据累加效验遇到的坑

十六进制数据累加效验遇到的坑

作者: a233f2076716 | 来源:发表于2020-11-27 11:00 被阅读0次

    十六进制数据效验累加坑
    我这里是使用初始值 int a = 0x2ac5 累加所有的数据段,其他数据段都为byte,
    注意了int 累加 byte

    //错误方式
            for (byte b:btByte) {
                a += b;
            }
    
    //正确方式
            for (byte b:btByte) {
                a += (0xff & b);
            }
    
    
    

    就这么点小细节 坑死我了
    java中byte是8位 -128~127之间,而int是32bit,在转化前需将高24位置零,这样就不会出现补码导致的转换错误。

    相关文章

      网友评论

          本文标题:十六进制数据累加效验遇到的坑

          本文链接:https://www.haomeiwen.com/subject/vdxxwktx.html