如何实现整型数低字节在前的内存块功能,这边的思路如下:
1.把整型数转为16进制数的字符串,并且此字符串低字节在前
2.把16进制的字符串再转为内存块
以下为代码:
#文件名: test.pl
#执行: perl.exe test.pl
test();
#把整型数转为低位在前的16进制字符串
#使用方法 $strhex = inter2lowhex(“9535”,4); or $strhex = inter2lowhex(9535,2);
sub inter2lowhex
{
#数值
my $intervalue = $[0] * 1;
#字节数
my $bytenum = $[1];
my $hexreturn = “”;
my $i=0;
for( $i = 0; $i < $bytenum; $i ++ ){
my $tempvalue = $intervalue & 255;
$intervalue >>= 8;
my
s
t
r
t
e
m
p
=
s
p
r
i
n
t
f
(
"
strtemp = sprintf("%02x",
strtemp=sprintf("tempvalue);
#printf("$i $strtemp $intervalue hex : $strtemp\n");
$hexreturn .= $strtemp;
}
return $hexreturn;
}
sub test
{
$ntranscount = 9535;
s
t
r
d
a
t
a
=
i
n
t
e
r
2
l
o
w
h
e
x
(
strdata = inter2lowhex(
strdata=inter2lowhex(ntranscount,4);
$outVarBit = pack(“H*”, $strdata);
$strtranscount = “9535”;
s
t
r
d
a
t
a
=
i
n
t
e
r
2
l
o
w
h
e
x
(
strdata = inter2lowhex(
strdata=inter2lowhex(strtranscount ,4);
$outVarBit = pack(“H*”, $strdata);
}