当前位置:编程学习 > C#/ASP.NET >>

这个计算校验和怎么算谢谢

说明如下
The checksum byte is calculated according to the following procedure:

sum=0;
for each of the characters do
               sum=sum+character assii code
               sum=(sum SHL 1)+(sum SHR 7)


(SHL= shift left,SHR=shift right)

/////////////////
eg:
Byte no.    character(s)(decimal notation)
1           2
2           32
3           49
4           46
5           32
6           196(= checksum of byte 1 to byte 5)

请问这196 是怎么算出来的 谢谢 --------------------编程问答-------------------- 没看明白,帮顶 --------------------编程问答-------------------- 谢谢LS帮顶

(SHL= shift left,SHR=shift right) 是什么意思 看不懂 --------------------编程问答-------------------- (SHL= shift left:最左边
SHR=shift right: 最右边

--------------------编程问答-------------------- shl <<
shr >> --------------------编程问答-------------------- 什么产品?没有gride吗?没有实例吗? --------------------编程问答--------------------
sum=(sum SHL 1)+(sum SHR 7)

是不是就是 这样

SUM=(SUM<<1)+(SUM>>7)

还有字符32 的ASCII 是多少啊 也是32 吗??? 还是 63+62???? --------------------编程问答-------------------- 自己顶一下 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 7 楼 RVT 的回复:
自己顶一下
--------------------编程问答-------------------- 5个字节,每个字节加后,SUM左移1位,然后右移7位。不过我的结果是192。
以下代码供参考:

var
  sum: BYTE;
begin
  sum:=0;
  sum := sum + 2;
  sum := (sum shl 1) +(sum   SHR   7);

  sum := sum + 32;
  sum := (sum shl 1) +(sum   SHR   7);

  sum := sum + 49;
  sum := (sum shl 1) +(sum   SHR   7);

  sum := sum + 46;
  sum := (sum shl 1) +(sum   SHR   7);

  sum := sum + 32;
  sum := (sum shl 1) +(sum   SHR   7);

  showmessage(IntToStr(sum));
end;
--------------------编程问答--------------------
引用 6 楼 RVT 的回复:
sum=(sum   SHL   1)+(sum   SHR   7) 

是不是就是   这样 

SUM=(SUM < <1)+(SUM> > 7) 

还有字符32   的ASCII   是多少啊   也是32   吗???   还是   63+62????


ASCII编码就是使用1个字节,0~255(10进制),或者X00~XFF(16进制);协议说得很明确的。 --------------------编程问答-------------------- “character(s)(decimal   notation) ”
的意思是:ASCII码字符(10进制表示)
32(10进制)=20(160进制)=空格(字符)
--------------------编程问答-------------------- 顶顶!
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,