このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1342966104/937
#  [1] 授業単元:マルチメディア実習  
#  [2] 問題文(含コード&リンク):  
#   
#  1. 
#  0x01, 0x02, 0x03, ・・・, 0x09, 0x0a, 0x0b, 0x0c の12バイトの内容を持つバイナリファイルを”ex1.bin”というファイル名で作成するCプログラムを書け. 
#  2.ex1.bin の内容を1バイトずつ読み出して,画面にprintfするCプログラムを書け 
#  3.ex1.bin をファイル先頭から int が3つ順に記録されたバイナリファイルと見なして読み出し,その3つのintの値を画面にprintfするCプログラムを書け.なぜそのような整数値になったか説明せよ. 
#  


'ex1.bin をファイル先頭から int が3つ順に記録されたバイナリファイルと見なして読み出し,その3つのintの値を画面に表示する' :-
        open('ex1.bin',read,Instream,[type(binary)]),
        'ex1.bin をファイル先頭から int が3つ順に記録されたバイナリファイルと見なして読み出し,その3つのintの値を画面に表示する'(Instream),
        close(Instream),!.

'ex1.bin をファイル先頭から int が3つ順に記録されたバイナリファイルと見なして読み出し,その3つのintの値を画面に表示する'(Instream) :-
        at_end_of_stream(Instream),!.
'ex1.bin をファイル先頭から int が3つ順に記録されたバイナリファイルと見なして読み出し,その3つのintの値を画面に表示する'(Instream) :-
        'int が3つ順に記録されたバイナリファイルと見なして読み出し'(Instream,N),        'その3つのintの値を画面に表示する'(N),
        'ex1.bin をファイル先頭から int が3つ順に記録されたバイナリファイルと見なして読み出し,その3つのintの値を画面に表示する'(Instream),!.

'int が3つ順に記録されたバイナリファイルと見なして読み出し'(Instream,N) :-        
        get_byte(Instream,A),
        get_byte(Instream,B),
        get_byte(Instream,C),
        N is A * 256 * 256 + B * 256 + C,!.

'その3つのintの値を画面に表示する'(N) :-
        writef('%t\n',[N]).