情報工学基礎 ( 改訂版 )
DESCRIPTION
情報工学基礎 ( 改訂版 ). 岡崎裕之. の前に前回の続き. * 任意の文字列 ? 任意の一文字 ~/ ホームディレクトリ. 例. ls *.c rm kadai1_?.c cp /etc/.tcshrc ~. Group. Other. User. ls –l で表示されるもの. rwx rwx rwx rw- r - - r - - rw- - - - - - -. パーミッションを変えるコマンド chmod. rwx rwx rwx の hoge を - PowerPoint PPT PresentationTRANSCRIPT
情報工学基礎 (改訂版 )
岡崎裕之
の前に前回の続き
* 任意の文字列? 任意の一文字~/ ホームディレクトリ
例
ls *.c rm kadai1_?.c cp /etc/.tcshrc ~
ls –l で表示されるもの
rwx rwx rwx rw- r - - r - - rw- - - - - - -
User Group Other
パーミッションを変えるコマンド chmod
rwx rwx rwxの hoge を rwx r - - r - - に変える >chmod go-wx hoge
情報工学基礎岡崎裕之
情報とは ?
じょうほう【情報】 あることがらについてのしらせ。 判断を下したり行動を起したりするために必要な知識。
情報とは ?
じょうほう【情報】 あることがらについてのしらせ。 判断を下したり行動を起したりするために必要な知識。
言語の表記について
• 日本語の表記
• 英語の表記
カナ,かな,漢字,その他
アルファベット 26 文字+ 記号
英語の場合
• アルファベット = 記号記号の割り当て ( 対応付け ) は人
間の都合別の記号をつかってもかまわない
abcdefghijklmnopqrstuvwxyz
1234567890-^\!#$%&()=~|+*/
字組
• 記号の表現能力
• 記号の種類を増やさずに表現できる事象を増やしたい
記号 1 文字で表現できる事象の数= 記号の種類 ( アルファベットだと
26 種 )
字組 ( タプル )
n 字組 n 個の記号の組合せ (n 桁 )
英語の場合
• 記号 26 種類• n 字組で表現できる事象の数
• 字組に意味を対応付けしたものを「語」と言う
n26
語の例
• apple という 5 字組に「りんご」という事象を対応付けした
• 自然言語の 1 語の桁数は可変
コンピュータの場合
• 記号の種類 2 種類 0 と 1 実際には電荷,電圧などで表現されて
いる
• 1 語の桁数は固定 レジスタのサイズに依存する
型
• 全ての事象を 0 , 1 の字組で表現している.• 数値 ( 整数,浮動小数点数 ) ,文字,アド
レス,命令など• 同じ表現の語でも型が違うと全然意味が違
うので注意が必要• 0000000001000000 は整数型だと 65 ,文字型だと A と対応付けされている
文字型
• ASCII コード, JIS コード, EUC,Unicode, トロンコード などいろいろな対応づけがあ
る• コード表を参照
整数型
• 符号なし • 符号付き
• 2 進表記 (2 進数 )• 10 進表記 (10 進数 )• 16 進表記 (16 進数 )
パーミッションを変えるコマンド chmod
rw- rwx rwxの hoge を rw- r - - r - - に変える >chmod go-wx hoge >chmod 644 hoge
rwx r - - r - - 111 100 100 744 rwx rw- r - - 111 110 100 764
整数 10 進表記
10
9,8,7,6,5,4,3,2,1,0
の次は桁が上がって
012 103102101
131021001123
00
11
01
1010
aa
aan
n
n
整数 2 進表記
10
1,0
の次は桁が上がって
012 212021
112041101
00
11
01
22
aa
aan
n
n
整数 16 進表記
10
,,,,,,9,8,7,6,5,4,3,2,1,0
の次は桁が上がってfedcba
01 1611610
1116101
a
見易いので使っている進の変換は覚えろ進
進の変換,進桁の216
1016)1(
10 進 2 進変換
012
345
202120
202121
102140
80161321
2163250
10 進 2 進変換
0
012
34
20
)212020
2121(250
025250 あまり
10 進 2 進変換
0
01
23
21
)2020
2121(225
112225 あまり
10 進 2 進変換
0
012
20
)202121(2
12
06212 あまり
10 進 2 進変換
0
01
20
)2121(2
6
0326 あまり
10 進 2 進変換
00 21)21(2
3
1123 あまり
10 進 2 進変換
01 2120
1
1021 あまり
10 進 2 進変換
1123 あまり0326 あまり06212 あまり112225 あまり025250 あまり
110010
1021 あまり
C のコンパイル• ソースファイルを作成 .
#include<stdio.h>
main(){
printf(“Hello World”);
} ここで必ず改行
*.c という名前で保存 ( 例 hege.c)
C のコンパイル• コンパイル
> cc hoge.c
a.exe というファイルができる
C のコンパイル• 実行
> ./a.exe
プログラミング言語
• 低級言語 ( アセンブリ言語 )
• 高級言語 C , Pascal , BASIC,COBOL
LISP,prolog,JAVA,C++ など.
高級言語 ( たとえば C)
C のソースコード ↓ コンパイラ ( コンパイル )アセンブリコード ↓ アセンブラ ( アセンブル )オブジェクト ↓ リンカ ( 静的リンク )実行ファイル
• ただし,実行時に動的リンクが行われる場合もある (DLL の呼び出し )
どうやってうごいているか
ハードウェア
OS
実行ファイル
実行ファイル
メインメモリ
実行ファイル
実行ファイル
実行ファイル
マシン命令 ( オプコード + オペランド )
マシン命令 ( オプコード + オペランド )
マシン命令 ( オプコード + オペランド )
マシン命令 ( オプコード + オペランド )
データ
データ
実行
マシン語
実行ファイル
01001101010101010101001010100110
01101010101010101010101010101010
11011101010111011111000000101010
11010111000101101101100100110100
11110101110111100011101110111001
11000001011111000010111000101110
マシン語でのプログラミング01001101010101010101001010100110
• マシン語をバイナリエディタで直接入力• ファイルを保存• ファイルのプロパティを実行可にする
• 命令が正しければちゃんとした実行ファイルができるはず
• やりますか?
アセンブリ言語01001101010101010101001010100110
• マシン語をニーモニックに置き換えた
と書くより
とかの方がまだ分かり易い
ADD 5 3
アセンブラ• アセンブリ言語をマシン語に単純に置換するだけのソフト• アセンブリ言語でのプログラミ
ングとは実行ファイルを直接編集することにほぼ等しい
• 実行ファイルはメインメモリ上に展開されるイメージそのもの
スタック
10100110
10101010
00101110
ALU
GR0GR1GR2GR3GR4GR5GR6GR7
SPFRPR
メモリプロセッサ
ALU
GR0GR1GR2GR3GR4GR5GR6GR7
SPFRPR
LD GR0 5
LD GR1 6
3
ADD GR0 GR1
ST GR0 7
4
1
2
3
4
5
6
77
14
2343
+
7
7