关于网友提出的“ 求助关于数制转换的问题”问题疑问,本网通过在网上对“ 求助关于数制转换的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 求助关于数制转换的问题
描述: 最近编写一个通信协议的软件 其中需要把从软件界面取的整数转换成16进制数并将转换完的结果高低位分开分别放到动态数组的两个位中,这是我编写的一段代码
procedure TForm1.Button3Click(Sender: TObject);
var
ByteArray:array of byte;
buf: variant;
begin
buf:=VarArrayCreate([0,0], varByte);
SetLength(ByteArray, 3);//初始化ByteArray
ByteArray[0]:=$02;
ByteArray[1]:=??;
ByteArray[2]:=??;
buf:=ByteArray;
MSComm1.output:=buf;
sleep(500);
end;
我就是想将转化完的数的高位放到ByteArray[1]中低位放到ByteArray[2]中,从界面读取的数值是从1到256*256的范围内的
不知道我说的够不够 详细请高手指点
解决方案1:
ByteArray[1]:= num div 256;
ByteArray[2]:= num mod 256;
解决方案2: ByteArray[1]:= num shr 8;
ByteArray[2]:= num and $ff;
以上介绍了“ 求助关于数制转换的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3668791.html