![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
delphi新手求助,在线等。array of byte 如何转 interger
比如arr:arrayofbytearr[0]中为1arr[1]中为0arr[2]中为0arr[3]中为0(二进制1000)想得到结果:8怎么做?请用delphi的语言…...
比如
arr : array of byte
arr[0] 中为1
arr[1] 中为0
arr[2] 中为0
arr[3] 中为0
(二进制1000)
想得到结果:8
怎么做?
请用delphi的语言… 展开
arr : array of byte
arr[0] 中为1
arr[1] 中为0
arr[2] 中为0
arr[3] 中为0
(二进制1000)
想得到结果:8
怎么做?
请用delphi的语言… 展开
3个回答
展开全部
IntRec = packed record
case Integer of
0: (Int: Integer);
1: (Bytes: array [0..3] of Byte);
end;
var intValue : IntRec;
intValue.Int := 123123;
intValue.Bytes 就是闹冲你想毁敬要液余歼的。intValue.Bytes[0],intValue.Bytes[1],intValue.Bytes[2],intValue.Bytes[3]
case Integer of
0: (Int: Integer);
1: (Bytes: array [0..3] of Byte);
end;
var intValue : IntRec;
intValue.Int := 123123;
intValue.Bytes 就是闹冲你想毁敬要液余歼的。intValue.Bytes[0],intValue.Bytes[1],intValue.Bytes[2],intValue.Bytes[3]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b: integer;
b := arr[0] * 8 + arr[1] * 4 + arr[2] * 2 + arr[3] * 1
各种进制转换的薯孙过程你不知宴亏道?就是把它们的值跟他们所代表的的晌手神进制进行权衡运算。
b := arr[0] * 8 + arr[1] * 4 + arr[2] * 2 + arr[3] * 1
各种进制转换的薯孙过程你不知宴亏道?就是把它们的值跟他们所代表的的晌手神进制进行权衡运算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delphi 可以内嵌汇编的 :-)
begin
asm
mov ecx,0
move eax,arr[0]
shl eax,3
xor ecx,eax
move eax,arr[1]
shl eax,2
xor ecx,eax
move eax,arr[2]
shl eax,1
xor ecx,eax
move eax,arr[0]
xor ecx,eax
mov Result, ecx
end;
begin
asm
mov ecx,0
move eax,arr[0]
shl eax,3
xor ecx,eax
move eax,arr[1]
shl eax,2
xor ecx,eax
move eax,arr[2]
shl eax,1
xor ecx,eax
move eax,arr[0]
xor ecx,eax
mov Result, ecx
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询