精华内容
下载资源
问答
  • Java取整、取余
    千次阅读
    2021-02-26 18:06:51

    最近在做一个计算的时候用到了取整取余的计算,这里对取整、取余、取模做一下总结~~~

    1、取整

    int a = 10;

    int b = 3;

    double c = a / b;//c = (10/3) = (double)3 = 3.0

    System.out.println(c);

    int a = 10;

    int b = 3;

    double c = (double) a / b;//c = (10.0/3) = 3.333333

    System.out.println(c);

    总结: 加减乘除计算,会先统一操作数的精度,其规则是先统一成精度高的数。

    2、取余(运算符为%)

    表达式:result = num1 % num2

    double result_double = 19 % 6.7;//5.6

    int result_int = (int) (19 % 6.7);//5

    说明:取余(或余数)运算符用 num1 除以 num2 ,然后返回余数作为 result。

    3、取模

    在网上找了一下关于取模的资料:取模和取余是两回事,在JAVA、C、C++里只有取余,操作符% ,英文remainder;在Python里%号是取模运算,英文modulus;在matlab里面有一个rem和mod函数,分别对应取余和取模运算。

    取余:        rem(3,2)=1  rem(-3,-2)=-1  rem(3,-2)=1  rem(-3,2)=-1

    取模:        mod(3,2)=1    mod(-3,-2)=-1    mod(3,-2)=-1   mod(-3,2)=1

    总结:rem结果的符号与被除数相同;mod结果的符号与除数相同。

    更多相关内容
  • java 整数取余

    2021-03-02 10:09:50
    java整数取余是建立在java整数除法的基础上的,java整数除法可以参考我的上一篇文章java 整数除法。The remainder operation for operands that are integers after binary numeric promotion (§5.6.2) produces a ...

    java整数取余是建立在java整数除法的基础上的,java整数除法可以参考我的上一篇文章java 整数除法。

    The remainder operation for operands that are integers after binary numeric promotion (§5.6.2) produces a result value such that (a/b)*b+(a%b) is equal to a.

    a,b两数之余满足:

    (a/b)*b+(a%b) = a

    This identity holds even in the special case that the dividend is the negative integer of largest possible magnitude for its type and the divisor is -1 (the remainder is 0).

    在被除数为该类型负数中绝对值最大的一个且除数为 -1 时,这一法则依然成立,此时,余数为 0。

    It follows from this rule that the result of the remainder operation can be negative only if the dividend is negative, and can be positive only if the dividend is positive. Moreover, the magnitude of the result is always less than the magnitude of the divisor.

    按照这一法则,只有在被除数为负的情况下,余数才能为负;只有在被除数为正的情况下,余数才能为正。而且,余数的绝对值永远小于除数的绝对值。

    代码演示

    private static void test2(){

    System.out.println(9%4);

    System.out.println(9%-4);

    System.out.println(-9%4);

    System.out.println(-9%-4);

    System.out.println(4%9);

    System.out.println(-4%9);

    System.out.println(4%-9);

    System.out.println(-4%-9);

    System.out.println(Integer.MIN_VALUE%-1);

    }

    输出

    1

    1

    -1

    -1

    4

    -4

    4

    -4

    0

    展开全文
  • java 整数取余保留两位小数的方法
    44、java 整数取余保留两位小数的方法

    整数相除的话,得到的还是一个整数,所以,需要类型转换成带有精度的(对结果强转,单个元素强转,都可以)

    		int a = 1230;
    		float b = 22345350;
    		float c = (float)a/b;
    		System.out.println(c);
    //第二种
    		int a = 1230;
    		int b = 22345350;
    		float c = (float)a/b;
    		System.out.println(c);
    

    对结果进行保留两位小数的操作

    一、使用BigDecimal,保留小数点后两位

    public static String format1(double value) {
     
     BigDecimal bd = new BigDecimal(value);
     bd = bd.setScale(2, RoundingMode.HALF_UP);
     return bd.toString();
    }
    

    二、使用DecimalFormat,保留小数点后两位

    public static String format2(double value) {
     
     DecimalFormat df = new DecimalFormat("0.00");
     df.setRoundingMode(RoundingMode.HALF_UP);
     return df.format(value);
    }
    

    三、使用NumberFormat,保留小数点后两位

    public static String format3(double value) {
     
     NumberFormat nf = NumberFormat.getNumberInstance();
     nf.setMaximumFractionDigits(2);
     /*
      * setMinimumFractionDigits设置成2
      * 
      * 如果不这么做,那么当value的值是100.00的时候返回100
      * 
      * 而不是100.00
      */
     nf.setMinimumFractionDigits(2);
     nf.setRoundingMode(RoundingMode.HALF_UP);
     /*
      * 如果想输出的格式用逗号隔开,可以设置成true
      */
     nf.setGroupingUsed(false);
     return nf.format(value);
    }
    12345678910111213141516171819
    

    四、使用java.util.Formatter,保留小数点后两位

    public static String format4(double value) {
     /*
      * %.2f % 表示 小数点前任意位数 2 表示两位小数 格式后的结果为 f 表示浮点型
      */
     return new Formatter().format("%.2f", value).toString();
    }
    

    五、使用String.format来实现。

    public static String format5(double value) {
     
     return String.format("%.2f", value).toString();
    }
    
    展开全文
  • Sample Input 2 1100 101 10 123456789123456789123456789 1000 0 Sample Output 10 789 Source import java.util.*; import java.io.*; import java.math.*; import java.text.*; public class Main{ public ...

    Problem:

    Basic remains

    Time Limit: 1000MS

    Memory Limit: 65536K

    Total Submissions: 4933

    Accepted: 2081

    Description

    Given a base b and two non-negative base b integers p and m, compute p mod m and print the result as a base b integer. p mod m is defined as the smallest non-negative integer k such that p = a*m + k for some integer a.

    Input

    Input consists of a number of cases. Each case is represented by a line containing three unsigned integers. The first, b, is a decimal number between 2 and 10. The second, p, contains up to 1000 digits between 0 and b-1. The third, m, contains up to 9 digits between 0 and b-1. The last case is followed by a line containing 0.

    Output

    For each test case, print a line giving p mod m as a base-b integer.

    Sample Input

    2 1100 101

    10 123456789123456789123456789 1000

    0

    Sample Output

    10

    789

    Source

    import java.util.*; import java.io.*; import java.math.*; import java.text.*; public class Main{ public static void main(String args[]) { BigInteger p,m,ans; int b; Scanner cin=new Scanner(System.in); while(cin.hasNext()) { b=cin.nextInt(); if(b==0) break; p=cin.nextBigInteger(b); m=cin.nextBigInteger(b); ans=p.mod(m); String s; s=ans.toString(b); System.out.println(s); } } }

    展开全文
  • JAVA大数加减乘除超级简单五个运算五行代码即可 import java.math.BigInteger; public class 大数运算 { public static void main(String[] args) { String num1 = "999999999999999999999999999999"; String ...
  • Java小数取余问题求助

    2021-02-27 16:35:57
    2016-09-01 01:19最佳答案楼上的全不明白楼主的意思,楼主要的...严重BS楼上的,尤其是说java语言的那位。我来告诉你这个问题用递推解决首先要你承认一个公式,我是习惯pascal语言的,c++怕写错,反正只是算法,你忍...
  • java - 神奇的取余运算

    千次阅读 2021-03-08 20:36:03
    整数取余运算中,除数为0,抛出一个ArithmeticException异常。 如: class Test { public static void main(String args[]) { System.out.println(3/0); System.out.println(3%0); } } 小数除法中,除数为0,输出一...
  • java 大整数

    2021-02-12 09:31:21
    Java中有两个类BigInteger和BigDecimal分别表示大整数类和浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线的数,只要计算机内存足够。这两个类都在java.math.*包中,因此每次必须在...
  • Java实现Fibonacci取余

    2020-12-22 10:13:54
    当n比较时,Fn也非常,现在我们想知道,Fn除以10007的余数是多少。 Input 多组测试数据 输入包含一个整数n。1 <= n <= 1,000,000。 Output 每组输出一行,包含一个整数,表示Fn除以10007的余数。 Sample ...
  • 总结Java中%取余操作的原理,以及如何创建NotificationID。
  • JAVA取模(取余)公式

    2021-11-18 10:09:39
    a % b = a - a / b * b;
  • Java中有关负数取余的计算

    千次阅读 2021-02-12 18:18:56
    Java中有关负数取余的计算先看测试代码 :public class Solution {public static void main(String[] args) {System.out.println("2 % 3 = " + 2 % 3);System.out.println("2 % -3 = " + 2 % -3);System.out.println...
  • java中 %运算符是取余数的运算比如 5%3 结果是2应用场景, 比如 (每10条记录为一页)多余部分显示到下一页,以此类推简单参考代码public class Test { public static void main(String[] args) { \tfor (int i = 1;...
  • java 中 %(取余)跟c不一样 java中是实数 C中是整数 例如 java System.out.printf ("%f", (5&1,5)); // ---- 0.5 C printf ("%f\n", (5%1.5)); // ----- 0 常见的二进制代码 1000 – 8 1010 – 10 0101 – 5 ...
  • java 取模与取余的区别

    万次阅读 2019-03-09 22:15:55
    取模与取余的区别 对于整型数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余数: r = a - c * b 求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入(fix()...
  • 取模运算与取余运算两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。...而取模运算在取c值时,是向负无穷方向舍入各个环境下运算符%的含义不同,C/C++,Java取余...
  • Java对浮点数和整数进行求余

    千次阅读 2018-11-15 11:31:47
    Java中如何对浮点数进行求余?其实很简单:
  • Java取余(%)运算规则

    千次阅读 2021-06-26 15:47:20
    Java取余(%)运算规则 本质:m % n = m - (int)(m / n) * n 注意:余值结果符号和 m (被模数) 符号有关,m为负数则余值为负数,m为正数则余值为正数。 适用类型 对于具有相同类型的两个变量m和n,取模运算适用于除了...
  • java运算中的取余

    2022-05-17 07:43:13
    java中的取余 在java运算中有时会出现对一个...1、第一种情况一个的整数对一个比它小的整数取余 public static void main(String[] args) { int a = 10, b = 3; System.out.println(a % b); } 输出结果: 1 2、
  • 浅析java中的取整(/)和求余(%)

    千次阅读 2021-03-13 19:46:28
    对于整数java取余运算规则如下 a%b=a-(a/b)*b 5%3=5-(5/3)*3=2 5%-3=5-(5/-3)*-3=2 -5%3=-5-(-5/3)*3=-2 -5%-3=-5-(-5/-3)*-3=-2 如果操作数中有浮点数则采用的规则为 a%b=a-(b*q),这里q=int(a/b) 5.2%3.1=5.2-...
  • java取模与取余

    2021-12-04 21:39:22
    1.求 整数商: c = a/b; 2.计算模或者余数: r = a - c * b 求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入(fix()函数);而取模运算在计算c的值时,向负无穷方向舍入(floor()函数)。 例如计算...
  • 结果 其他整数位移 结论 其他整数(char、byte、short)位移时,先转化为int,然后再按照int的位移规则进行位移,并且其结果是int类型。 7.浮点数位移(float、double) 浮点数(float、double)不支持位移操作。
  • 取模与取余的区别对于整型数a,b来说,取模运算或者求余运算的方法都是:1.求 整数商: c = a/b;2.计算模或者余数: r = a - c * b求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入(fix()函数);...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,483
精华内容 9,393
关键字:

java 大整数取余

java 订阅