質問

あり、純粋なpythonの実施 fractions.Fraction を支援する longsとして分母と分子?残念ながら、べき乗を示すコードを返しますfloat(ack!!!), る少なくとも支援を decimal.Decimal.

場合はありませんかきょうのコピーを作成し、図書館で試してみ発生 float() 何かしてから適切な Decimal していくことになれます。

このコード例:

base = Fraction.from_decimal(Decimal(1).exp())
a = Fraction(69885L, 53L)
x = Fraction(9L, 10L)

print base**(-a*x), type(base**(-a*x))

結果 0.0 <type 'float'> の答えは本当に小さな類ではありません。

更新:私にとって、次の作業中のための在となり、**b、両方の端数;もちろん、必要な機能がexp_は、floatまたはその小数):

def fracpow(base, exp_):
    base = Decimal(base.numerator)/Decimal(base.denominator)
    exp_ = Decimal(exp_.numerator)/Decimal(exp_.denominator)

    return base**exp_

の答え4.08569925773896097019795484811E-516.

いまだ興味があればよいということなく、機能によって推測すれば、 Fraction クラスの足としてもご利用いただけるわたりその他の浮かぶったりもします。

役に立ちましたか?

解決

"げる力"ではない閉じたときの動作をrationals(さらに通常の四則演算):が有理数 r その r == 2 ** 0.5.伝説によると底をなすピタゴラスからの定理があるだけではありませんが,下記の彼の弟子にHippasus死の恐ろしい犯罪の証明、まいそうに共感wit底をなすピタゴラスの疑わしい反応;-)、変な利用"を".

Pythonの端数は正確には、必然的にある場合を向上させることにより、分別の分の電力であると できない 返却率としてその結果とはできの良識を応用数理不可。

ものでなければならないことで 近似 ご希望の結果、例えばによる結果なかなかできない正確な割合(ほうが一般的に考えられるのに十分な目的としてさらに近似しを含む複数の分子を同定できた。最も既存の純粋なPython実装であ 多くの rationals.py ファイルの純;-)はあまり好きではないのですが実施する ** オペレーターですが、もちろんあり止めますからデザインの異なる決定はご自分の実施中!-)

他のヒント

で記入することができ"捕虜"機能は端数を使わない浮動小数点のべき乗.はいかが?しようと考えているのだろうか。

これを満たす整数でパワーが浮いてしまうからなのです。

def pow( fract, exp ):
    if exp == 0: 
        return fract
    elif exp % 2 == 0:
        t = pow( fract, exp//2 )
        return t*t
    else:
        return fract*pos( fract, exp-1 )
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top