0


プログラミングとは

練習問題

  1. 0.0000000000000000000000000000000000001234といった非常に小さい小数を32ビット(32個の電球)で表現するにはどうすればよいか考えよ。1/2,1/4,1/8,...とビット(電球)を割り振っていっては,32ビットでは足りないことに注意。
  2. 上の例ではマイナスの数(負数)は登場しなかった。-1234などをどう表せばよいか考えよ。

練習問題解答

  1. 0.0000000000000000000000000000000000001234 = 0.1234×10-36(10の-36乗)である。このように小数を指数部分と小数部分に分けて表せばよい。たとえば64ビットを,「小数部分」32ビットと「指数部分」32ビットとに分けて利用すればよい(実際のコンピュータがどのようにしているかは,コンピュータによって少し異なる)
  2. どこかのビットを符号を表すものとして解釈すればよい。たとえば,先頭のビット(一番左に来るビット,一番大きな数に対応するビット)で符号を表す。この方式を採用すれば,-10と+10は,先頭ビットだけが違うことになる。なお,現在のほとんどのコンピュータは先頭ビットで符号を表すが,-10と+10の2ビット以降のビットパターン(0と1の並び方)は同じではない。