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;
shr >>
sum=(sum SHL 1)+(sum SHR 7)是不是就是 这样SUM=(SUM<<1)+(SUM>>7)还有字符32 的ASCII 是多少啊 也是32 吗??? 还是 63+62????
以下代码供参考: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;
ASCII编码就是使用1个字节,0~255(10进制),或者X00~XFF(16进制);协议说得很明确的。
的意思是:ASCII码字符(10进制表示)
32(10进制)=20(160进制)=空格(字符)