型の種類 数値
数値を扱うデータ型
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
これを複合演算子といい、似たようなものに「-=」「*=」「/=」「%=」「**=」があります。