0
A
回答
0
在现代帕斯卡中,您可以使用圆括号进行投票。
例如,在自由帕斯卡:
{$mode fpc}
program bytecast;
uses sysutils;
type bytes = array[0..3] of byte;
var x : uint32 = $12345678; i : byte; b : bytes;
begin
b := bytes(x);
for i := 0 to 3 do Writeln('$',IntToHex(b[i],1))
end.
输出:
$78
$56
$34
$12
注意“向后”命令来了一个事实,即我在x86架构上运行,这使用little-endian字节顺序。
如果跨平台的可移植性是一个问题,那么你可以手动提取字节:
{ var r : uint32; ... }
for i := 0 to 3 do
begin
DivMod(x, $100, x, r); { needs 'uses math'. note: this destroys x! }
b[3-i] := r
end;
现在字节将被安排在一个更直观的订单,以及更早WriteLn
环的输出成为:
$12
$34
$56
$78
这将在所有平台上,以及防止简单的铸件,在做多一点工作的任何成本帕斯卡尔方言的工作。 (关于另一个选项,请参见SwapEndian程序和此FPC wiki页面约cross platform code。)
相关问题
- 1. 帕斯卡到C#转换
- 2. 字符串到帕斯卡的整数转换,怎么做?
- 3. 转换typedef结构帕斯卡
- 4. 转换字节到int
- 5. 帕斯卡到C:TRUNC
- 6. 斯卡拉 - 转换列表[字符串]元组列表[(Int,Int)]
- 7. 帕斯卡,生成数字
- 8. 斯卡拉炭为int转换
- 9. 从帕斯卡
- 10. 在卡斯帕
- 11. 转换字节数组INT
- 12. C#INT字节转换
- 13. 从int转换成字节
- 14. 将字节[]转换为int
- 15. int转换为字节(32)
- 16. Java字节到int自动转换
- 17. 转换类型INT到类型字节
- 18. 帕斯卡三角
- 19. 帕斯卡汉译
- 20. 由帕斯卡尔
- 21. 列表字符串int转换为斯卡拉
- 22. 如何转换选项[字符串]列出[INT]在斯卡拉
- 23. 卡住字节转换
- 24. 从int到int的显式转换到Java中的字节
- 25. 转换列表[列表[Int]]在斯卡拉设置[Int]
- 26. 如何Java集合[INT]转换为数组[INT]在斯卡拉
- 27. 字符串到斯卡拉Int中
- 28. 解析一个字节文件在帕斯卡
- 29. 真正转换为整数的循环进行帕斯卡
- 30. 帕斯卡 - 如何将真实转换为整数变量
类似的问题http://stackoverflow.com/questions/13634240/delphi-xe3-integer-to-array-of-bytes – Sam