zoukankan      html  css  js  c++  java
  • 整数除法操作的取整问题

    整数除法舍入方式:

    整数相除涉及到舍入的问题,有这么四种舍入方式:向偶数舍入,向零舍入,向下舍入,向上舍入。

    向偶数舍入:(也叫作最接近的值舍入) 值应该舍入到距离自己最近的数字。当值处于中间的时候,应该让最低有效位保持偶数。所以,按照这种策略,1.4应该舍入到1,1.6应该舍入到2,只有在x.5的时候要考虑个位数保持偶数,比如1.5应该舍入到2, 2.5也应该舍入到2,因为2是偶数。

    向零舍入: 很好理解,向靠近零的整数舍入。

    向下舍入:也就是我们常说的向下取整 $lfloor x floor $

    向上舍入:也就是向上取整  $lceil x ceil$

    Java及c语言中的除法:

    Java以及c语言当中的整数除法采用的是向0舍入的方式:

    public class div {
        public static void main(String[] args){
            int a = 3/2;  //float除法应该为 1.5
            int b = 5/3;  //float除法应该为 1.666
            int c = 5 /4;  //~~~~~~~~~~~~  1.25
    
            int d = -3/2; //~~~~~~~~~~~~  -1.5
            int e = -5/3; //~~~~~~~~~~~~~~  -1.66
            int f = -5/4; //~~~~~~~~~~~~~~  -1.25
    
            System.out.printf("a is %d
    b is %d
    c is %d
    " +
                              "d is %d
    e is %d
    f is %d
    ",
                               a, b,c,d,e,f);
        }
    }

    输出结果为:

    a is 1
    b is 1
    c is 1
    d is -1
    e is -1
    f is -1

    Python中的除法:

    Python当中 '/'表示float除法, '//'是整数除法,遵循的原则是向下取整

    a = 3//2  # 1.5
    b = 5//3  # 1.66
    c = 5//4  #1.25
    
    d = -3//2 # -1.5
    e = -5//3 # -1.66
    f = -5//4 # -1.25
    print(a,b,c)
    print(d,e,f)

    结果为:

    1 1 1
    -2 -2 -2

    '//'这种运算 可以使用 int(a//b)来转化为向0取整。

  • 相关阅读:
    adb稳定性monkey测试(转载)
    Cookie、sessionStorage、localStorage的异同
    Vue-eBookReader 学习笔记(初始化部分)
    ValueError: Max value is 14 解决方案
    Chrome 报错: Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
    Bootstrap使用方法
    Vue笔记
    3D相册 复仇者联盟
    奔跑的少年
    钟表练习 html+css实现
  • 原文地址:https://www.cnblogs.com/jiaxin359/p/9232929.html
Copyright © 2011-2022 走看看