如何把一个int整数转换成一个byte[] 长度为4(50分)

  • 主题发起人 主题发起人 xuyingfeng
  • 开始时间 开始时间
X

xuyingfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
如何把一个int整数转换成一个byte[] 长度为4
 
可以加入汇编
 
对不起,是在java中如何转化
 
i := 0 ;
while i < 4do
begin
(c+i)^ := Char( (($FF000000 and ret) shr 24) and $000000FF ) ;
ret := ret shl 8 ;
inc(i) ;
end ;
 
public final void writeInt(int v) throws IOException {
OutputStream out = this.out;
out.write((v >>> 24) &amp;
0xFF);
out.write((v >>> 16) &amp;
0xFF);
out.write((v >>> 8) &amp;
0xFF);
out.write((v >>> 0) &amp;
0xFF);
incCount(4);
}
 
public final byte[] getBytes(int i) {
byte[] b = new byte[4];
for(int j = 0;
j < 4;
j++) {
b[j] = (byte)(i &amp;
255);
i >>= 8;
}
return b;
}
 
没这么麻烦吧,
TYPE TMYARR=ARRAY[0..3] OF BYTE;
PMYARR=^TMYARR;
将任何整数变量的地址强制成为PMYARR类型就可以当成长度为四的数组了.
例如可以使用
VAR I:INTEGER;
使用PMYARR(@I)^[0]就可以访问第一个元素了.
 
var a:array[0..3] of byte;
b:int;
move(b,a,4);
 
多人接受答案了。
 
后退
顶部