endian convert at Fortran

걸리버 여행기에서 달걀을 뭉툭한 끝쪽(big-end)을 깨야 하는냐 아니면 뾰족한 끝(little-end)쪽에서 깨야하는냐를 가지고 “전쟁”까지 하는 걸 보면… 단순한 문제가 그다지 단순한 문제가 아니라는 것을 알 수 있다. 우리네 계산과학(?)하는 사람들도 마찬가지인데 이 little endian과 big endian은 굉장히 단순한 문제인데 생각보다 그다지 단순하지는 않다.

간단하게 little endian과 big endian 문제에서 native혹은 defaults값은 언제나 cpu에 따른다. 세상이 바뀌어서 이제 앞으로 Power PC 혹은 Cray를 만날 일이 없을테니 그쪽에서 생성된 binary 파일을 Intel 계열로 가져와서 작업할 일은 없을 것같고.. 다만 문제는 어떤 파일은 big-endian byte order를 표준으로 하고 그 파일들을 little endian환경에서 다루어야 한다는 것이다.

특히 이쪽 Geophysics에서 사용하는 segy파일 포맷이 그렇다.

사설이 너무 길었고 이 글에서는 포트란에서 endian converting 하는 것에 대해 잘 정리된 사이트가 있어서 링크 하는 것으로 갈무리한다.

http://www.cgd.ucar.edu/cas/software/endian.html

http://software.intel.com/en-us/forums/topic/270026

ps) 이제 저 수염난 아저씨 길에서 보면 ‘안녕하세요”하고 먼저 인사할 것 같다.

http://recipes.egloos.com/4993723

http://www.ibm.com/developerworks/kr/library/au-endianc/index.html

http://en.wikipedia.org/wiki/SEG_Y

http://www.seg.org/resources/publications/misc/technical-standards

http://www.dmng.ru/seisview/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s