一个二进制文件 94 0b 00 00
我定义了一个Longword变量取这个二进制文件的前四个字节,数字显示是2964,我算了下2964的十六进制是OB94,这里就有点搞不清楚了,怎么和二进制文件的次序不一样呢?按我想想么应该是是940B0000,而是940B0000转换出来却是-1811218432,显然不对,请问各位大侠什么意思,这个问题解决了我在问下一个问题!
我定义了一个Longword变量取这个二进制文件的前四个字节,数字显示是2964,我算了下2964的十六进制是OB94,这里就有点搞不清楚了,怎么和二进制文件的次序不一样呢?按我想想么应该是是940B0000,而是940B0000转换出来却是-1811218432,显然不对,请问各位大侠什么意思,这个问题解决了我在问下一个问题!
解决方案 »
- CxTreeList 设置颜色问题~ 急~~~~~~~~~~~~
- 我的程序调试点出现了移位,与代码行不对应,请问这是为什么?
- sos
- 请问有没有显示Delphi各个类之间继承关系的图呀?
- 关于条形码问题
- 请问在DELPHI中用什么可以设计以下的 多行 铅笔、钢笔、及数量及金额来让用户输入?
- Delphi 6和RealOne的ActiveX控件好像有冲突。问的问题太多没分了,不好意思。
- 谁给我 一段树型目录TTreeView的 节点 拖拽 示例程序.
- openprinter函数上的参数怎样定义?
- 如何在一次查询的基础之上做另一次查询
- pascal中 文件可否改变标题变量来多次读入呢?
- delphi可以实现这种界面不?
94 0b 00 00
它们对应的内存的地址是从低到高递增的,比如
111 112 113 114这样看,文件中的次序跟内存中的其实一样。
而在取Longword的值的时候,高地址在前,低地址在后,所以就变成了00 00 0b 94。更直观的,你可以把它们读取到byte数组里,次序是一致的!
d:integer;
s:string;d:=$940b0000;
s:=format('%d',[d]);
var
d:integer;
s:string;
begin
d:=$b94;
s:=format('%d',[d]);
ShowMessage(s);
end;
http://www.cppblog.com/chaosuper85/default.html?page=1194 0b 00 00 Windows下应该这么看“00 00 0B 94”