Javaでは整数データは,intの型で約10億(10進表記で9桁)まで表わすことができますが,これ以上大きな数,たとえば日本の国家予算を扱うときはどうすればよいでしょうか.それには,数字をいくつかに分割して表現すればいいのです.たとえば,もし仮にint型の値が0から99までしか表現できないものとして,"1999"を表わすには,int型の値を2つもちいて,最初の値を"19",次の値を"99"としておきます.
「大きな数」の例として,2の100乗を計算してみましょう.この数は10進表記で約30桁になりますから,どうしても分割表現が必要になります.ここでは思い切って
配列の1要素に数字1個
というぜいたくな表現にしてみましょう.配列のサイズは余裕を見て40としておきます.
int a[ ] = new int[40];
「桁位置」も決めておく必要があります.ここでは
1 の位の数はa[0], 10の位はa[1], 100の位はa[2], ...
としておきます.こうすることにすると,長い数としての1は
a[0]=1, a[1]=0, a[2]=0, a[3]=0, a[4]=0, ..., a[39]=0
で表わされます.また,長い数としての1867は
a[0]=7, a[1]=6, a[2]=8, a[3]=1, a[4]=0, ..., a[39]=0
となります.
26.1.6.11 素数表 | 26.1.6.12 大きなデータ | 26.1.6.13 長い整数 | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Thu, 02 Sep 2004 18:52:10 JST (1793d) |