在python中如何计算很长的一个整数乘以一个非常接近零的很小的一个数
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/20 14:42:58
在python中如何计算很长的一个整数乘以一个非常接近零的很小的一个数
例如:a是长整数,b是浮点数
a=3**123323
b=0.13**324325
求 a*b,我算的是结果是0,
我的意思是,a和b是从屏幕上输入的,因此b会被认作0,怎样调节精度,使它可以被运算。我前面说的不清楚。
例如:a是长整数,b是浮点数
a=3**123323
b=0.13**324325
求 a*b,我算的是结果是0,
我的意思是,a和b是从屏幕上输入的,因此b会被认作0,怎样调节精度,使它可以被运算。我前面说的不清楚。
python 3.2可以用内置的decimal高精度实数模块
# -*- coding:UTF-8 -*-
import decimal
decimal.getcontext().prec=200 #200数位精度
a=decimal.Decimal(3)**decimal.Decimal(123323)
b=decimal.Decimal('0.13')**decimal.Decimal('324325')
print('\t{}\n*\n\t{}\n=\n\t{}'.format(a,b,a*b))
输出
>>>
1.0580246667188824271913168051622395865019183845414805481031905972109045173989899823133323278995752527235304667074427574782893102545428586466473016751341295216536176276017699142425172412864417270258818E+58840
*
4.7614246375708084311798542896953748676842902955614645510524621531010498656287008792909075916910899666155420657277394271571681636228412127263118451395440991242288410666335749575430087463810155494163691E-287371
=
5.0377047152729301420944880198230739560889642797996835618622967033179721708732353839970371126283680796466358080919145363745004534970704032352604175204920473255485436558304392155356717364540080252448283E-228531
>>>
所谓“屏幕输入”,就是标准输入流输入,与大数都无关,属于基本数据操作.
a=decimal.Decimal(input("输入a:")); #所谓的屏幕输入
# -*- coding:UTF-8 -*-
import decimal
decimal.getcontext().prec=200 #200数位精度
a=decimal.Decimal(3)**decimal.Decimal(123323)
b=decimal.Decimal('0.13')**decimal.Decimal('324325')
print('\t{}\n*\n\t{}\n=\n\t{}'.format(a,b,a*b))
输出
>>>
1.0580246667188824271913168051622395865019183845414805481031905972109045173989899823133323278995752527235304667074427574782893102545428586466473016751341295216536176276017699142425172412864417270258818E+58840
*
4.7614246375708084311798542896953748676842902955614645510524621531010498656287008792909075916910899666155420657277394271571681636228412127263118451395440991242288410666335749575430087463810155494163691E-287371
=
5.0377047152729301420944880198230739560889642797996835618622967033179721708732353839970371126283680796466358080919145363745004534970704032352604175204920473255485436558304392155356717364540080252448283E-228531
>>>
所谓“屏幕输入”,就是标准输入流输入,与大数都无关,属于基本数据操作.
a=decimal.Decimal(input("输入a:")); #所谓的屏幕输入
在python中如何计算很长的一个整数乘以一个非常接近零的很小的一个数
python几个长的正则如何合成一个正则
python 在一个范围内,寻找另一个数字的所有整数倍数,并计算一共有多少个倍数
一个不等于零的数乘以整数部分为零的小数,所得的积符合下面哪种情况?
excel中几个数的和乘以一个数再加上一个数的计算公式是
在python中如何输入三引号?是打连续的三个单引号,还是一个双引号+单引号?
python官方document中关于lambda的一个小问题
一个数的中间有一个零或者有几个零都只读一个零.再整数范围内.
在一个整数的末尾添上一个零就比原来的数大711,原来的数是多少
在一个整数的末尾添上一个零,就比原来的数大711,原来的数是?
python 如何把list中元素一个对一个的换成对应的数字 list = ['abc', 'def', 'ghi']
一个很简单的python里的词典问题