int / double

整数と小数と


機械にとっては、どんなデータも 01 の数列にしか見えない。

もちろん人間にとってはやりづらいので、できる限り人間がいつもしている表現を扱いたいんだ。

そこで 01 だけのデータを に閉じ込めて、値の埋め込みや足し算や掛け算を簡単にできるようにしたの。

偉大な発明だわー。

今回はたくさんある型の中でもよく使う、

  • int (整数 - integer の略)
  • double (倍精度浮動小数点数 - double floating-point の略)

を紹介するよ。

ちなみに、(静的な) 型があると記述ミスによる不具合「バグ」を防ぐ働きもある。意外と大きいメリット。

int

整数 を扱う型。これが出てこないプログラムはそうそう無い。

これがこの型のリテラル達。

見やすいように自由に ' を入れて桁区切りできる (数そのものには影響しない)。他にも (16 進数とかの) 記法があるけど、多いのでまたの機会に。

0;
1;
502;
25701;
-2149;
20'200'621;

使うときはこんな感じになる。

int price = 500;
int discout = 80;
price = price - discount;

double

小数と、あといくつかの数 (無限大とか) を扱う型。小数が必要な計算に使う。

この型のリテラル達。小数とだいたい同じ。小数点の左側や右側が全部 0 のときは省略できる。

3.0;
0.740;
5.; // => 5.0
.2; // => 0.2

他にも (16 進数の) 記法があるけど、そっちはまず使わない。

より小さい・大きい数を書くために指数表記 (× 10 の n 乗で書いて 0 を減らす) もある。

3000000.; // 0 何個か見づらい
3e6; // 3 × 10 の 6 乗
3e+6; // 上と同じ
.005; // 0 何個か(ry
5e-3; // 5 × 10 の -3 乗

使うときはこんな感じになる。これも普通に四則演算できる (剰余算を除いて)。

double ratio = 1.6;
double player_speed_x = 2.0;
player_speed_x = player_speed_x * ratio;
2.0 / 0.0; // => inf。エラーにならない代わりに無限大 (infinity) になる
4.0 % .3; // コンパイルできない。double の剰余はできない