S seagull Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-24 #1 诸位网友: 有谁知道VAX的存储格式吗?例如Double型是如何存放的? 急需得到这方面的资料,敬请告知 Helen
Z zhaoyipeng Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-25 #2 非常简单,把字节顺序颠倒过来就行了。 var a, b:do uble; buf1, buf2: array [0..7] of byte; I: Integer; begin a := VAXDouble; move(a, buf, SizeOf(Double)); for I:=7 to 0do buf2 := buf1[7-I]; move(buf2, b); // b is Inteldo uble end;
非常简单,把字节顺序颠倒过来就行了。 var a, b:do uble; buf1, buf2: array [0..7] of byte; I: Integer; begin a := VAXDouble; move(a, buf, SizeOf(Double)); for I:=7 to 0do buf2 := buf1[7-I]; move(buf2, b); // b is Inteldo uble end;
L lhz Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-25 #4 不对吧?float/double是IEEE的标准,应该没有高维 在前/低位在前的问题,在所有系统上应该是相同的. 至于longdo uble,是没有规定的,各相同不同.
R redforks Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-26 #6 for I:=7 to 0do buf2 := buf1[7-I]; downto吧!
S seagull Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-01 #7 zhaoyipeng老兄: 那样做不出来,也没有别人再回答了,只有自己再查资料试试, 不过还是谢谢你的回答.