1 / 12

プログラミング演習 I

プログラミング演習 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 参照

liseli
Download Presentation

プログラミング演習 I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. 整数型の大きさ(続き) • 現在の主要な環境では • 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の要請)

  6. 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.

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

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

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

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

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

  12. レポート課題 • 問116bitで何通りの情報が表現できるか? • 問2 同じく4byteで何通りの情報が表現できるか? • 問310bitの2の補数表現で、10進の31, 96, -127, -257の2進表記を与えよ • 締め切り:2004年5月25日一杯(日本時間で) • 提出先:メールで木村(iwao@sci.toyama-u.ac.jp)まで.

More Related