如题 
double是8位的,还有没有比double范围数更广的类型

解决方案 »

  1.   

    x87 fpu 使用 IEEE 754 的浮点表示方式,delphi 中常用的有三种:32位(Single),64位(Double),80位(Extended)
    Trunc 和 Round 是往整数转换,跟读写有啥关系?
      

  2.   

    说得很随意,
    本题 是2个问题1.就是把double类型保存在数组中,然后读出来
    2.问:trunc和round处理double或者extended有没有问题
      

  3.   

    1、定义一个Double数组就是了  d: array[0..9] of Double 
      或者 d: array of Double ,使用的时候,先动态分配下内存 SetLength(a, 10); //0 到 92、Trunc是截断取整,就是把小数部分直接截掉,Round是四舍五入,这两个函数都可以处理double或者extended如果你想把一个Double 写入到一个流中,那么
    D: Double......
    Stm.Write(D, SizeOf(D));读出来的方法是
    Stm.Read(D, SizeOf(D));
      

  4.   

    如果你一定要将一个字符数组写入到一个Byte数组中,那么这么写
    var
      B: array of Byte;
      D, F: Double;
    begin
      D := 10.2;
      SetLength(B, SizeOf(D)); //按照Double数据类型的大小分配数组大小  Move(D, B[0], SizeOf(D));  //写入  Move(B[0], F, SizeOF(F)); //读出end;
      

  5.   

    噢,道不是非要按照Double大小去分配数组大小,实际上,只要你的数组的SizeOf不小于Double的大小就可以,你完全可以使用 B: array [0..19] of Byte 数组去保存Double数据,不过就是浪费了点而已,呵呵
      

  6.   

    不是说double类型占用8字节吗?什么要用10字节的字符方式呢
      

  7.   

    SizeOf(Double)多大,字符数组就最小就要多大。
    我写的10,只不过是顺道写的,肯定比SizeOf(Double)大,呵呵