プログラミング演習I 2004年5月19日(第5回) 理学部数学科・木村巌.

Slides:



Advertisements
Similar presentations
プログラミング演習 II 2005 年 1 月 19 日(第 9 回) 理学部数学科・木村巌. 前回までの復習 共用体( union type ) 共用体( union type ) 列挙 (enumerated type ) 列挙 (enumerated type ) 構造体、構造体のポインタ、
Advertisements

プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
プログラミング入門2 第7回 情報工学科 篠埜 功.
Problem A: Radix 3.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第7回 データの基本型 情報・知能工学系 山本一公
基礎プログラミングおよび演習 第9回
第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
プログラミング演習II 2004年12月 21日(第8回) 理学部数学科・木村巌.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
演習問題の答え #include #include #define NUM 5 typedef struct { // 構造体の定義 float shincho; // 身長 float taiju; // 体重 } shintai; void hyouji(shintai.
情報基礎及び演習 プログラミング基礎① 電気・佐藤亮一.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
情報処理Ⅱ 第2回 2007年10月15日(月).
プログラミング応用 printfと変数.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
プログラミング演習I 2003年6月25日(第10回) 木村巌.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング入門2 第11回 情報工学科 篠埜 功.
プログラミング演習Ⅱ 課題4第3週 画像処理 (1) ビット演算子.
アルゴリズムとデータ構造 補足資料5-1 「メモリとポインタ」
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
フロントエンドとバックエンドのインターフェース
情報処理Ⅱ 第2回:2003年10月14日(火).
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
プログラミング序論演習.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
プログラミング演習I 2003年4月30日(第3回) 木村巌.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
プログラミング演習I 2003年7月2日(第11回) 木村巌.
ポインタとポインタを用いた関数定義.
情報処理Ⅱ 第2回 2005年10月14日(金).
情報処理Ⅱ 第2回 2006年10月13日(金).
11.1 標準ライブラリ関数 11.2 関数呼び出しのオーバーヘッド 11.3 大域変数 11.4 プロトタイプ宣言 11.5 関数引数
情報処理Ⅱ 2006年11月24日(金).
知能情報工学演習I 第8回(後半第2回) 課題の回答
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
プログラミング演習I 2003年6月11日(第9回) 木村巌.
情報処理Ⅱ 第2回 2004年10月12日(火).
プログラミング演習II 2004年11月 16日(第5回) 理学部数学科・木村巌.
プログラミング演習II 2003年11月19日(第6回) 木村巌.
プログラミング演習II 2003年12月10日(第7回) 木村巌.
プログラミング演習II 2004年11月 2日(第3回) 理学部数学科・木村巌.
プログラミング入門2 第5回 配列 変数宣言、初期化について
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第11回(後半第5回) 課題の回答
プログラミング演習II 2003年10月29日(第2,3回) 木村巌.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

プログラミング演習I 2004年5月19日(第5回) 理学部数学科・木村巌

ビットとバイト 1bitとは、2進表記一桁で表現できる情報量のこと 端的にいうと、0か1. 1byteとは、8bitのこと.つまり、0, 1が8桁. (00000000)から、(11111111)まで、256通りの組み合わせがある キロバイト(KB)、メガバイト(MB)、ギガバイト(GB)、テラバイト(TB) 教科書p.51参照

整数型の詳細 教科書p.49の表3-1参照 int型は、short, 指定なし, longの三種類の大きさと、signed, unsignedの符号の有無の区別がある. 略記:short intはshort, long intはlongと略記可能 sizeof 演算子……sizeof(型名)で、型が占めるメモリの大きさを返す

整数型の大きさ /* sizeofint.c */ #include <stdio.h> int main(void) { printf (“short %d\nint %d\nlong %d\n”, sizeof (short), sizeof (int), sizeof (long)); return 0; } コンパイル・実行してみよう.

整数型の大きさ(続き) 現在の主要な環境では limits.hに個々の値の上下限が定義されている(ANSI Cの要請) Short: 2byte, int: 4byte, long int: 4byte C99ではlong longも定義されており、8byte となることが多い. 個々のサイズがANSI Cで定義されているわけではない!定義では、 2≦sizeof(short)≦sizeof(int)≦4≦sizeof(long) limits.hに個々の値の上下限が定義されている(ANSI Cの要請)

2の補数表現 符号付整数のビット列としての表現法 正の整数:単純に2進表現する 例:0 = (0), 1 = (1), 2 = (10), 3 = (11), …… nビットでのとき、n-1ビット使える.0~2^(n-1)-1 負の整数:すべてのビットの補数を取り(1を0に、0を1にする)、更に1加える 例:-1→(000…0001)ー[補数]→(111…1110)ー[1加える]→(111…1111) = -1.

2の補数表現(続き) 負の最大値(100…000)または-2n-1に相当する正の整数は存在しない.この値が負にされても、同じ値になる. 符号付整数のビット列としての表現には、他に 1の補数表現 符号ビットを独立に持つ表現 がある.正の整数の表現はどれも同じ.

2の補数表現の補足 負の整数:すべてのビットの補数を取り(1を0に、0を1にする)、更に1加える どうしてこれでよいのか? 例:-1→(000…0001)ー[補数]→(111…1110)ー[1加える]→(111…1111) = -1. どうしてこれでよいのか? 1 + (-1) = (000…0001) + (111…1111) = (000…0000) = 0. ただし、最後の桁上がりは無視する

2の補数表現の補足(続き) n bitの2の補数表現では、n-1 bit使って、0から2n-1-1を表現 負の数-aは、2n – a として表している: n = 3のとき、-3は、23 – 3 = (100) – (011) = (101). 補数表現の求め方と一致している.

2の補数表現の補足(続き2) 利点:一番上の桁を見ただけで、正負が判断できる. 一番上の桁が0なら正、1なら負

まとめ 数値型の詳細(表現できる数の範囲)について学んだ 負の整数の表現方法として、2の補数表現について学んだ

レポート課題 問1 16bitで何通りの情報が表現できるか? 問2 同じく4byteで何通りの情報が表現できるか? 締め切り:2004年5月25日一杯(日本時間で) 提出先:メールで木村(iwao@sci.toyama-u.ac.jp)まで.