プログラミング言語「ドリトル」

大阪電気通信大学 兼宗研究室

ユーザ用ツール

サイト用ツール


ref_bignum

多倍長整数

  • 長い桁数の整数を扱うオブジェクトです。
  • 文字列(または数値)に「大きい整数にする」を送り生成します。
  • 数値(内部は倍精度実数)から生成する場合は、初期値が数値の有効数字に制限されます。そのため、10桁以上の場合は数値でなく文字列から生成してください。
    • (例)文字列から多倍長整数を生成します。
 x="1000000"!大きい整数にする。
  • 数値演算子「+, -, *, /, %」は、内部的にそれぞれ「add, sub, mul, div, mod」という命令に変換されて扱われます。論理演算子「==, !=, >, >=, <, ⇐」も、内部的にそれぞれ「eq, ne, gt, ge, lt, le」という命令に変換されて扱われます。
  • + , - , , ×, \/, ÷ : 四則演算
    • (例)「3 * 40」を計算し「120」を表示します。
 x=3!大きい整数にする。
 ラベル!(x * 40)作る。
  • 足すadd), 引くsub), 掛けるmul), 割るdiv) : 四則演算。命令として使います。
    • (例)「3 * 40」を計算し「120」を表示します。
 x=3!大きい整数にする。
 ラベル!(x! 40 掛ける)作る。
  • %: 余り
    • (例)8を3で割った余りを計算し「2」を表示します。
 x=8!大きい整数にする。
 ラベル!(x % 3)作る。
  • 余りmod) : 余り。命令として使います。
    • (例)8を3で割った余りを計算し「2」を表示します。
 x=8!大きい整数にする。
 ラベル!(x! 3 余り)作る。
  • == , != , , > , >= , , < , , : 比較演算。両辺が多倍長整数または多倍長整数に変換できる文字列の場合は、多倍長整数として比較されます。
    • (例)「4 > 3」を計算し「[true]」を表示します。
 x=4!大きい整数にする。
 y=3!大きい整数にする。
 ラベル!(x > y)作る。
  • pow: べき乗。「2の3乗」は「pow(2,3)」ではなく、「2!3 pow」と書くことに注意してください。
    • (例)「2^70」を計算します。
 x=2!大きい整数にする。
 ラベル!(x!70 pow)作る。
  • abs: 絶対値
    • (例)「|-3|」を計算し「3」を表示します。
 x=3!大きい整数にする。
 ラベル!(abs(x))作る。
  • コード文字: 指定された文字コード(UTF-16)の文字を返します。
    • (例)文字列「“A”」を表示します。
 x=0x41!大きい整数にする。
 ラベル!(x!コード文字)作る。
  • (例)文字列「“あ”」を表示します。
 x=0x3042!大きい整数にする。
 ラベル!(x!コード文字)作る。
ref_bignum.txt · 最終更新: 2020/11/18 22:55 by klab