情報工学基礎(改訂版) 岡崎裕之 の前に前回の続き * 任意の文字列 ? 任意の一文字 ~/ ホームディレクトリ 例 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字組で表現できる事象の数 26 n • 字組に意味を対応付けしたものを 「語」と言う 語の例 • 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 のhogeを rw- r - >chmod >chmod rwx r - -に変える go-wx hoge 644 hoge rwx 111 rwx 111 r-- r-100 100 744 rw- r - 110 100 764 整数10進表記 0,1,2,3,4,5,6,7,8,9 の次は桁が上がって 10 123 1100 2 10 3 1 110 2 10 3 10 2 1 0 an 1 a0 an 1 10 n 1 a0 10 0 0,1 整数2進表記 の次は桁が上がって 10 101 1 4 0 2 11 1 2 0 2 1 2 2 1 0 an 1 a0 an 1 2 n 1 a0 2 0 整数16進表記 0,1,2,3,4,5,6,7,8,9, a, b, c, d , e, f の次は桁が上がって 10 a1 10 16 11 10 16 116 1 0 (1桁の)16進10進の変換, 16進2進の変換は覚えろ 見易いので使っている 10進2進変換 50 32 16 2 1 32 1 16 0 8 0 4 1 2 0 1 1 2 1 2 0 2 5 4 3 0 2 1 2 0 2 2 1 0 10進2進変換 50 2 (1 2 1 2 4 3 0 2 0 2 1 2 ) 2 0 2 1 0 50 2 25あまり 0 0 10進2進変換 25 2 (1 2 1 2 3 0 2 0 2 ) 1 1 2 0 0 25 2 12あまり 1 2 10進2進変換 12 2 (1 2 1 2 0 2 ) 2 0 2 1 0 12 2 6あまり 0 0 10進2進変換 6 2 (1 2 1 2 ) 1 0 2 0 0 6 2 3あまり 0 10進2進変換 3 2 (1 2 ) 1 2 0 0 3 2 1あまり 1 10進2進変換 1 0 2 1 2 1 0 1 2 0あまり 1 10進2進変換 50 2 25あまり 0 25 2 12あまり 1 12 2 6あまり 0 6 2 3あまり 0 3 2 1あまり 1 1 2 0あまり 1 110010 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 実行ファイル 11000001011111000010111000101110 11110101110111100011101110111001 マシン語でのプログラミング 01001101010101010101001010100110 • マシン語をバイナリエディタで直接入力 • ファイルを保存 • ファイルのプロパティを実行可にする • 命令が正しければちゃんとした実行ファイルがで きるはず • やりますか? アセンブリ言語 01001101010101010101001010100110 • マシン語をニーモニックに置き換えた ADD 5 3 と書くより とかの方がまだ分かり易い アセンブラ • アセンブリ言語をマシン語に 単純に置換するだけのソフト • アセンブリ言語でのプログラミン グとは実行ファイルを直接編集 することにほぼ等しい • 実行ファイルはメインメモリ上に 展開されるイメージそのもの GR0 GR1 GR2 GR3 GR4 GR5 GR6 GR7 SP FR PR プロセッサ 10100110 10101010 00101110 メモリ ALU スタック FR GR0 GR1 GR2 GR3 GR4 GR5 GR6 GR7 4 7 3 PR 3 1 4 2 + SP LD GR0 5 1 LD GR1 6 2 ADD GR0 GR1 3 ST GR0 7 4 4 5 3 6 ALU 7 7 7
© Copyright 2024 ExpyDoc