ワンボードマイコンをつくろう!(パソコンの原点はここから始まった)
TK80ソフトコンパチブル!8080、Z80マシン語からBASICまでこれ1台でこなせます
| 当記事は2009年11月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 | 2011.7.1 前へ 次へ 目次へ戻る ホームページトップへ戻る | 
| ☆ND80ZVでBASICを(2) ND80ZVに搭載予定のBASICはハンパではありません。 浮動小数点演算をこなし、さらに三角関数、対数計算までできるのです。 しかも、倍精度での演算もできてしまいます。 | 
[第70回]
●指数関数EXP()
前回は常用対数LOG()と自然対数LN()について説明をいたしました。
自然対数ということになりますと、指数関数についてはどうなのか、ということになると思います。
ええ。
もちろん。
指数関数EXP()も使えますですよお。
EXP()はeを底とした指数exの関数です。
なおex以外の指数計算については、[第60回]で累乗(ベキ乗)の機能として説明をいたしました。
たとえば
a=xy
でしたらべき乗の記号 ^ を使って、
A=X^Y
のように使います。
さて、ではEXP()のサンプルプログラムです。
| >list
    10 FOR A=1 TO 10
    20 PRINT A,EXP(A)
    30 NEXT A
>run
1            2.71828
2            7.38906
3            20.0855
4            54.5982
5            148.413
6            403.429
7            1096.63
8            2980.96
9            8103.09
10           22026.5 | 
| >15e=exp(a)
>    20 PRINT A,E,ln(e)
>list
    10 FOR A=1 TO 10
    15 E=EXP(A)
    20 PRINT A,E,LN(E)
    30 NEXT A
>ren
>list
    10 FOR A=1 TO 10
    20 E=EXP(A)
    30 PRINT A,E,LN(E)
    40 NEXT A
>run
1            2.71828      1
2            7.38906      2
3            20.0855      3
4            54.5982      4
5            148.413      5
6            403.429      6
7            1096.63      7
8            2980.96      8
9            8103.09      9
10           22026.5      10 | 
| >list
    10 FOR A#=1 TO 10
    20 E#=EXP(A#)
    30 PRINT A#,E#,LN(E#)
    40 NEXT A#
>run
1            2.718281828459045         0.9999999999999999
2            7.38905609893065          2
3            20.08553692318767         3
4            54.59815003314424         4
5            148.4131591025766         5
6            403.4287934927351         6
7            1096.633158428459         7
8            2980.957987041729         8
9            8103.083927575385         9
10           22026.46579480672         10 | 
| >list
    10 FOR A#=1 TO 10
    20 E#=EXP(A#),L#=LN(E#)
    30 IF A#=1 L#=L#+0.1D-15
    40 PRINT A#,E#,L#
    50 NEXT A#
>run
1            2.718281828459045         1
2            7.38905609893065          2
3            20.08553692318767         3
4            54.59815003314424         4
5            148.4131591025766         5
6            403.4287934927351         6
7            1096.633158428459         7
8            2980.957987041729         8
9            8103.083927575385         9
10           22026.46579480672         10 |