DELPHI里byte型数组取值与比较
发布网友
发布时间:2022-05-08 18:14
我来回答
共2个回答
热心网友
时间:2024-01-26 05:43
很简单...
假设你的数组变量为 a,并且下标从 0 开始:
var
a: YourArrayType;
p: PInteger;
begin
...
p := @a[1]; //指向第二个字节
if p^ = $01000080 then // Intel 处理器的整数高位在高地址区,所以要反过来
...
end;
原理就是:4个字节是一个整数的空间,直接比较一个整数变量和一个常数是否相等
如果你要判断的字节数超过8个,或者($80,$00,$00,$01)是变化的,这个方法就不行了,要用 CompareMem 来比较,速度要慢一些:
var
a: YourArrayType;
b: YourConst;
begin
...
if CompareMem(@a, @b, SizeOf(b)) then
...
end;
热心网友
时间:2024-01-26 05:43
Byte型数组可以按以下方法操作:
定义
var
a:array [0..10] of Byte;//11个元素的数组
b:array of byte;//动态数组
取值
c:=a[0];
比较
if (a[2]<b[3]) then...
取得数组大小
k=Length(b);