型の種類 数値

 数値を扱うデータ型

 Iron Pythonで数値を扱うデータ型には次のものがあります。
  ・短整数型
  ・長整数型
  ・浮動小数点型

短整数型
 少数を含まない数値で符号つき32ビット整数(-2,147,483,648〜2,147,483,647)です。
10進数として解釈されます。8進数や16進数の整数を指定するには値の前にそれぞれ「0」、「0x」をつける。また「int」で表現されます。

 >>> 16 ← 10進数
 16
 >>> 016 ← 8進数
 14
 >>> 0x16 ← 16進数
 22
 >>> type(16) ←組み込み関数は、オブジェクトの型を返します。
 <type 'int'>


長整数型
 PC固有の精度によって制限されず、PCの最大メモリまで可能なように設計されているはず(2GBの整数なんて試したことがないので)。お金の計算みたいに略せない計算に使うとよいかも知れません。長整数を書く場合は数値の最後に大文字または小文字の「L」を付けます。「long」で表現されます。

 >>> 100L
 100L ←長整数には「L」が付きます。
 >>> type(100L)
 <type 'long'>


浮動小数点型
 少数点以下を扱える64ビット浮動少数(-1.79769313486232×10-308〜1.79769313486232×10308)です。「float」で表現されます。

 >>> 0.3
 0.3
 >>> type(0.3)
 <type 'float'>


 演算と精度

 Iron Pythonでは次のような演算子が使えます。

演算子 説明
足し算
- 引き算
* 掛け算
/ 割り算
% 割り算の余り
** 累乗


 >>> 1+1 ← 足し算
 2
 >>> 2-1 ← 引き算
 1
 >>> 2*3 ← 掛け算
 6
 >>> 9/3 ← 割り算(1)
 3
 >>> 10/3 ← 割り算(2)
 3
 >>> 10%3 ← 割り算(2)の余り
 1
 >>> 2**10 ← 2の10乗
 1024


 割り算(2)を見て、おや?と思いませんか。
 10÷3=3...1
 でも当然少数計算もできないといけません。片方の数値に少数点をつけると浮動小数点型として扱い、結果が変わります。Iron Pythonでは、より精度の高い型に数値結果を合わせるようになっています。

 >>> 1.0/2 ←1.0は浮動小数型
 0.5
 >>> -7/3 
 -3 ←結果は「-3」
 >>> -7%3 上の結果から(-7)−(-3)*3=2
 2

 また「-7/3」の結果からわかるように、整数同士の演算では答えに一番近く、より小さい整数を結果として返します。

 変数を使った演算

 数値型は変数に代入することによって、変数を使った計算を行うことができます。

 >>> a=20
 >>> a*3
 60

 プログラムでは、既に定義してある変数に数値を足す、という操作をよく実行します。変数を基にした計算結果を、同じ変数に代入することで、目的の処理になります。

 >>> a=1
 >>> a=a+1
 >>> a
 2

更に「+=」という演算子を使うと計算してから代入する、という処理を簡潔に書くことができます。

 >>> a=1
 >>> a += 1
 >>> a
 2


これを複合演算子といい、似たようなものに「-=」「*=」「/=」「%=」「**=」があります。