如何转换C语言的移位计算到delphi ( 积分: 100 )

  • 主题发起人 主题发起人 cjsam
  • 开始时间 开始时间
C

cjsam

Unregistered / Unconfirmed
GUEST, unregistred user!
unsigned char tempData[32] = {0};
int result = 0;
for (int i = 0
i < sizeof tempData / sizeof tempData[0] / 4
++i)
result += (tempData[4 * i + 0] << 24) | (tempData[4 * i + 1] << 16) | (tempData[4 * i + 2] << 8) | (tempData[4 * i + 3] << 0);

怎样将它转换成dephi的语法呀。
我做的:
t:array of byte;
for i:=0 to (Npart-1) div 4 do
begin

partint[4+i]:=(t[0+4*i] shl 24 ) or (t[1+4*i] shl 16) or (t[2+4*i] shl 8) or (t[3+4*i]shl 0)
end;
好像有问题,请问怎的转换呀。
 
我也想知道
 
var
i: integer;
t: array [0..31] of byte;
begin
result:=0;
for i:=0 to 7 do
result:=result+(t[4 * i + 0] shl 24) or (t[4 * i + 1] shl 16) or (t[4 * i + 2] shl 8) or (t[4 * i + 3] shl 0);
 
主要是你的数组t没有定义具体的大小加上[0..31]就好了
 
后退
顶部