从VC编写的软件里,实时传输8Byte的信息。
该信息
1、第一个Byte,总是"0D0A"表示开头
2、第二个Byte,高4bit表示一个意思,低4bit表示另一个意思
3、后面6个Byte,都是一些数字。
4、最后是换行符。
5、再来就是重复1请问,
1、我怎么去判断0D0A?
2、怎么把第二个Byte分出,4bit高,4bit低?
该信息
1、第一个Byte,总是"0D0A"表示开头
2、第二个Byte,高4bit表示一个意思,低4bit表示另一个意思
3、后面6个Byte,都是一些数字。
4、最后是换行符。
5、再来就是重复1请问,
1、我怎么去判断0D0A?
2、怎么把第二个Byte分出,4bit高,4bit低?
function IsBitOn (Value: byte; Bit: Byte): Boolean;
begin
Result := (Value and (1 shl Bit)) <> 0;
end;
var
x: byte;
b: array[0..7] of boolean;
i: integer;
begin
x:=$f1;
for i:=0 to 7 do
begin
b[i]:=(x and (1 shl i)) <> 0;
memo1.Lines.Add(booltostr(b[i]));//b[i]保存得是各个位得值,从低到高
end;
end;
取低4位: i and $F
var
x: byte;
b: array[0..7] of boolean;
i: integer;
begin
x:=$f1;
for i:=0 to 7 do
begin
b[i]:=(x and (1 shl i)) <> 0;
memo1.Lines.Add(booltostr(b[i]));//b[i]保存得是各个位得值,从低到高
end;
end;