重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.math.BigDecimal;
成都创新互联公司是一家专业提供汨罗企业网站建设,专注与成都网站设计、成都网站制作、HTML5建站、小程序制作等业务。10年已为汨罗众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
import java.util.Scanner;
public class Cat {
public static void main(String[] args) {
System.out.print("Please input 2 numbers:");
String[] input = new Scanner(System.in).nextLine().trim().split("\\s+");
BigDecimal num1 = new BigDecimal(input[0]);
int num2 = Integer.parseInt(input[1]);
BigDecimal mul = new BigDecimal("1.0");
for(int i = 1; i = num2; i++){
mul = mul.multiply(num1);
}
System.out.println(mul.toString());
}
}
------------------testing
Please input 2 numbers:95.123 12
548815620517731830194541.8990253434157159735359672218698527210
java中输出幂函数可以:
直接输出比如 long mi = 2 (n-1)。
也可以跑循环计算比如 int n = 3;
long mi = 1L;
for(int i = 1; i = n; i++){
mi *= 2;
}
System.out.println(mi)。
import
java.util.Scanner;
/*
*
用java编写程序计算x的n次幂
*
*/
public
class
Test40003
{
public
static
void
main(String[]
args)
{
int
repeat;//定义要幂次
//int
i,
n;
double
x,
mypow=1;
Scanner
in=new
Scanner(System.in);//从控制台输入数字,比如
2
1.5,
//前面是整数,后面是要做幂次运算的数,中间用空格隔开
repeat=in.nextInt();//获取输入的幂次
x=in.nextDouble();//获取要进行幂次运算的数
System.out.println("现在要做"+x+"的"+repeat+"次幂运算!");
for(int
ri=1;
ri=repeat;
ri++){
mypow
=
mypow*x;
}
System.out.println(x+"的"+repeat+"次幂运算的结果是:"+mypow);
}
}
超过long的大小的时候要用到
java.math.BigInteger; 这个类
这个类本身并不是数学计算,而是字符拼接模拟数学计算的显示效果。
计算的结果可以以字符串的形式输出。
代码部分:(main方法中)
BigInteger bi =new BigInteger("7894561230");
for(int i=0;i5;i++){ //5次方 理论上可以100次 但是会计算N久
bi = bi.multiply(bi);//multiply 表示乘法 add + ,sub -, div 是除
}
System.out.println(bi); //输出到屏幕看下结果
java中通常进行数学运算的东西都在Math类中,求函数的幂次方就是Math类中的pow方法:public static double pow(double a, double b), 返回第一个参数的第二个参数次幂的值。
例如求2的3次方,代码如下:
public class test {
public static void main(String[] args) {
double a= Math.pow(2, 3);
}
}
运行结果为8
扩展资料:
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
与 StrictMath 类的某些数学方法不同,并非 Math 类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行。
默认情况下,很多 Math 方法仅调用 StrictMath 中的等价方法来完成它们的实现。建议代码生成器使用特定于平台的本机库或者微处理器指令(可用时)来提供 Math 方法更高性能的实现。这种更高性能的实现仍然必须遵守 Math 的规范。
实现规范的质量涉及到两种属性,即返回结果的准确性和方法的单调性。浮点 Math 方法的准确性根据 ulp(units in the last place,最后一位的进退位)来衡量。对于给定的浮点格式,特定实数值的 ulp 是包括该数值的两个浮点值的差。
当作为一个整体而不是针对具体参数讨论方法的准确性时,引入的 ulp 数用于任何参数最差情况下的误差。
如果一个方法的误差总是小于 0.5 ulp,那么该方法始终返回最接近准确结果的浮点数;这种方法就是正确舍入。一个正确舍入的方法通常能得到最佳的浮点近似值;然而,对于许多浮点方法,进行正确舍入有些不切实际。
相反,对于Math 类,某些方法允许误差在 1 或 2 ulp 的范围内。非正式地,对于 1 ulp的误差范围,当准确结果是可表示的数值时,应该按照计算结果返回准确结果;否则,返回包括准确结果的两个浮点值中的一个。对于值很大的准确结果,括号的一端可以是无穷大。
除了个别参数的准确性之外,维护不同参数的方法之间的正确关系也很重要。
因此,大多数误差大于 0.5 ulp 的方法都要求是半单调的:只要数学函数是非递减的,浮点近似值就是非递减的;同样,只要数学函数是非递增的,浮点近似值就是非递增的。并非所有准确性为 1 ulp 的近似值都能自动满足单调性要求。
参考资料:
1)可以直接使用java常用类中的Math类,比如求2的三次方(2^3) double num1= Math.pow(2,3);(不过此时获取的数据为double类型值为 8.0); 2)如果想要int类型的数据需要强制类型转换 int num = (int)Math.pow(2,3);(此时的数据为 8);