知識の箱
主に気象を研究する上で得た知識と、WEBページ作成のために得た知識を記録しています。
fortranでbitデータの取扱い2~fortranでの読み込み~
元のデータが、1byte(16bit)で1個だけ入っているfortranでデータを読むには、
=======================================
program test
implicit none
integer(kind=1) :: var
open (unit=10, file=’test.dat’, form=’unformatted’,
access=’direct’, recl=1*1*1)
read (unit=10, rec=1) var
stop
end program test
=======================================
で読むことができる。
ここで入っているデータは、13という整数であるとしよう。
read (unit=10, rec=1) var
の後に
write(6,'(i2)’), var
と書けば、13と表示される。
一方、write文のformatをiではなくbと書くと、bit分解した、つまり、2進法で記載された表示になる。
write(6,'(b8.8)’), var
今は、1byte=8bitなので、b8と書いている。
2byteならb16、4byteならb32と書けばよい。
こうすると出力は、
00001101
b8.8ではなくb8と書くと先頭の0が表示されない。
つまり、1101と表示される。