爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7446|回复: 26

[分享资料] 怎样把十进制文件转为二进制文件

[复制链接]

新浪微博达人勋

发表于 2014-4-3 20:42:56 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
grads里只能用二进制的文件我怎样把十进制转化啊  自己研究不通  大家帮帮忙
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-5 09:48:15 | 显示全部楼层
楼主是啥都不会啊
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2014-4-3 21:01:48 | 显示全部楼层
如果你是南信大的学生,找学校自己编写的grads书看看,大概16、17页这样有把十进制转化为二进制的fortran程序!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-3 21:07:53 | 显示全部楼层
安清静静 发表于 2014-4-3 21:01
如果你是南信大的学生,找学校自己编写的grads书看看,大概16、17页这样有把十进制转化为二进制的fortran程 ...

我不是啊  可不可以photo给看一下啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-4 08:45:03 | 显示全部楼层
Jeanela 发表于 2014-4-3 21:07
我不是啊  可不可以photo给看一下啊

如果你会用fortran,自己编程那就五分钟的事,看起来楼主是不会啊,还是好好从头学起吧。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-4 09:01:56 | 显示全部楼层
lqouc 发表于 2014-4-4 08:45
如果你会用fortran,自己编程那就五分钟的事,看起来楼主是不会啊,还是好好从头学起吧。

恩  我不太会 请你帮帮我program f10t2
implicit none
PARAMETER(N=30,1)
DIMENSION R(N,1)
open(1,file='e:\dg1\IIE.TXT',form='formatted',status='unknown')
DO I=1,N
read(1,*)R(I,1)
ENDDO
CLOSE(1)
OPEN (2,file='e:\dg1\IIE1.dat',form ='binary'&,access='direct',recl=4)
)
K=0
DO I=1,N
WRITE(2,*)r(i,1)
enddo
CLOSE(2)
END program f10t2
这个文件为什么没有生产新文件啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-4 09:19:02 | 显示全部楼层
program f10t2
implicit none
integer,PARAMETER::N=30
real,DIMENSION(1:n,1:!)::R
open(1,file='e:\dg1\IIE.TXT',form='formatted',status='unknown')
DO I=1,N
read(1,*)R(I,1)
ENDDO
CLOSE(1)
OPEN (2,file='e:\dg1\IIE1.dat',form ='binary')
DO I=1,N
WRITE(2)r(i,1)
enddo
CLOSE(2)
END program f10t2
建议尽量写规范,不要大小写乱换,声明的时候写清楚完整。
错误在于write的时候无格式就不要写*了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-4 09:36:46 | 显示全部楼层
lqouc 发表于 2014-4-4 09:19
program f10t2
implicit none
integer,PARAMETER::N=30

program f10t2
implicit none
real n(30,1)
integer i
open(1,file='e:\dg1\IIE.TXT',form='formatted',status='unknown')
DO I=1,30
read(1,*) n(i,1)
ENDDO
CLOSE(1)
OPEN (2,file='e:\dg1\IIE1.dat',form ='unformatted',access='direct',recl=4)
DO I=1,30
WRITE(2) n(i,1)
enddo
CLOSE(2)

end
现在对不对了啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-4 09:38:09 | 显示全部楼层
lqouc 发表于 2014-4-4 09:19
program f10t2
implicit none
integer,PARAMETER::N=30

这个文件我在grads中打开还是不行啊  我写了个ctl
dest e:\dg1\IIE1.dat
titile IIE 1979-2008
undef 9.999E+20
xdef 1 linear 0.000000 1.875
ydef 1 levels -88.542
zdef 1 levels 0.9950
tdef 30 linear 00Z06jun1979 1yr
vars 1
IIE 1 99 IIE1979-2008
endvars

是文件生产有错误还是ctl有问题啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-4 09:39:14 | 显示全部楼层
写二进制文件时候write时只需write(2),不用write(2,*),不然会报错.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-4 09:43:38 | 显示全部楼层
Jeanela 发表于 2014-4-4 09:38
这个文件我在grads中打开还是不行啊  我写了个ctl
dest e:\dg1\IIE1.dat
titile IIE 1979-2008

ctl的ydef不要用level,fortran就用我给你改的试一下。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表