当前位置 :
C#开三次方我用Math.Pow(8,1/3),结果等于1我再用doublea=8doubleb=1/3Math.Pow(a,b),结果仍然等于1.我用Math.Pow(8,0.333333333333333333),结果等于2.我想问一下,难道C#里面只能用第三种办法开三次方吗?这也
1人问答
更新时间:2024-05-08 20:40:06
问题描述:

C#开三次方

我用Math.Pow(8,1/3),结果等于1

我再用

doublea=8

doubleb=1/3

Math.Pow(a,b),结果仍然等于1.

我用Math.Pow(8,0.333333333333333333),结果等于2.

我想问一下,难道C#里面只能用第三种办法开三次方吗?这也太那个了吧!

邓良才回答:
  首先Pow(doublea,doubleb)的2个参数都得是浮点数,这个你应该清楚了.   doubleb=1/3的计算过程是:   首先计算1/3=0   接下来b= (double)0 ,0隐式转换为double类型,但 b的结果还是0   (就是说先做除法运算,算术运算符的优先级比赋值运算高),   正确的做法是Pow(8,1f/3)   把1或3任意一个变成浮点数后再去做除法运算,这样一来1f/3的结果就不是0,而是0.3333333了
数学推荐
最新更新
PC端 | 移动端 | mip端
问答网(wenda2.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

邮箱:联系方式:

Copyright©2009-2021 问答网 wenda2.com 版权所有 闽ICP备2022000227号-1