请教各位,小弟学delphi不久,遇到点byte存放16进制的问题,真诚请教各位高手,
a0,a1,a2:word;
aa:array[0..10] of byte;
for i:=0 to 300 then begina0:=$0001; //a0取两个值 $0001 或者$0002;假如现在i:=255,,通过移位和或操作,我想利用aa[1]和aa[2] 来存放,得到 0F F1(16进制)
不知道怎么解决,望各位指点,谢谢!
a0,a1,a2:word;
aa:array[0..10] of byte;
for i:=0 to 300 then begina0:=$0001; //a0取两个值 $0001 或者$0002;假如现在i:=255,,通过移位和或操作,我想利用aa[1]和aa[2] 来存放,得到 0F F1(16进制)
不知道怎么解决,望各位指点,谢谢!
a0,a1,a2:word;
aa:array[0..10] of byte;
bb:array[0..1] of byte;
i:=255;
a3:byte;a3:=$0001;
bb[0]:=byte(i);
bb[1]:=byte(i shr 8);
//可是现在我的bb[0]和bb[1] 还不是我想要的值
a0:=bb[0]+bb[1];
a1:=word(a0) shl 4;
a2:=a1 or a3; //这个值才是我想要的
这里就不明白怎么把a2的值赋给aa[0]和aa[1]
aa:array[0..1] of byte absolute a2;这样你访问aa的时候也就是在访问a2了
aa[1]:=Byte(a2 and $FF); //取低八位