小编use*_*314的帖子

估计二进制文件的大小

我对此非常困惑.我转出一个大小为16000*4*2的3D数组,其中所有元素都是DOUBLE PRECISION,我认为我应该得到一个大小为16000*4*2*8字节/ dp = 1,024,000字节的文件.但我一直得到2,048,000字节.

我测试了一个简单的测试程序:

PROGRAM testprog
  IMPLICIT NONE
  DOUBLE PRECISION :: x=0.0D0
  INTEGER :: i

  OPEN(UNIT=128,FILE='try.out',FORM='UNFORMATTED',ACCESS='SEQUENTIAL')

  DO i=1,16000*4*2
    WRITE(128) x
  ENDDO

  CLOSE(128)

ENDPROGRAM testprog
Run Code Online (Sandbox Code Playgroud)

并使用以下命令运行它:

gfortran f.f90 -o a 
./a 
ls -als try.out
Run Code Online (Sandbox Code Playgroud)

而我得到的是

2000 -rw-r--r-- 1 jipuwang umstudents 2048000 Dec 17 20:16 try.out
Run Code Online (Sandbox Code Playgroud)

我无法理解它.一个双精度使用2个字节对​​吗?

我做了别的事,如果有人也能帮我理解这个:

PROGRAM testprog
  IMPLICIT NONE
  DOUBLE PRECISION :: x=0.0D0
  INTEGER :: i

  OPEN(UNIT=128,FILE='try.out')

  DO i=1,2
     WRITE(128,*) x
  ENDDO

  CLOSE(128)

ENDPROGRAM testprog
Run Code Online (Sandbox Code Playgroud)

它给了我一个大小为54字节的文件.

size fortran binaryfiles double-precision

1
推荐指数
1
解决办法
287
查看次数

标签 统计

binaryfiles ×1

double-precision ×1

fortran ×1

size ×1