向下取整_向下取整符号 - CSDN
精华内容
参与话题
  • 向上取整和向下取整(ceil、round)

    万次阅读 2017-07-23 18:16:10
    各编程语言的向下取整(integers 之间),向上取整,以及四舍五入。

    0. 基础

    • 向上取整:比自己大的最小整数;
    • 向下取整:比自己小的最大整数;
    • 四舍五入:更接近自己的整数;

    x1<xxx<x+1

    n/2+n/2=n

    aba+(b1)b

    aba(b1)b

    1. 编程实现

    a/b
            // 向下取整
    (a+(b-1))/b 
            // 向上取整
    int(float(a)/b + .5 // 四舍五入

    aba+b1bint(a×1.b+0.5)

    之所以在向上取整时,分子部分要减去1,是为了避免出现,a 能被 b 整除的情况。

    12 / 3 == 4, (12+3)/3==5,而对 3 向上取整仍为 3.

    2. 其他角度的理解

    • y1<xyx=y

    • yx<y+1x=y

    3. 对数

    log2(n+1)1=log2nlog2(n+1)=log2n+1

    对于对数取整,有如下基本性质:

    {k=logbxklogbx<k+1bkx<bk+1k=logbxk1<logbxkbk1x<bk

    4. 一些补充

    • (1)a+(a+1)2=a,也即两个连续的整数(a,a+1)中间的数,就是左边的数,0,1 ⇒ 0
    • (2)编程语言整数之间的除法,是向下取整,
      • 1/2 ⇒ 0
      • -1/2 ⇒ -1
    展开全文
  • C/C++ 取整函数ceil(),floor() C/C++ 取整函数ceil(),floor() #include double floor(double x);  float floorf(float x); long double floorl(long double x); double floor(double x); double ceil(double ...

    转自:

    C/C++ 取整函数ceil(),floor()

    C/C++ 取整函数ceil(),floor()

    #include <math.h> double floor(double x); 
    float floorf(float x); 
    long double floorl(long double x);
    
    

    double floor(double x);

    double ceil(double x);


    使用floor函数。floor(x)返回的是小于或等于x的最大整数。
    如:     floor(10.5) == 10    floor(-10.5) == -11


    使用ceil函数。ceil(x)返回的是大于x的最小整数。
    如:     ceil(10.5) == 11    ceil(-10.5) ==-10

        
    floor()是向负无穷大舍入,floor(-10.5) == -11;
    ceil()是向正无穷大舍入,ceil(-10.5) == -10


     1. /

        //Test "/"
        cout << "Test \"/\"!" << endl;
        cout << "7   / 2   = " << 7/2 << endl;      //3
        cout << "7   / 2.0 = " << 7/2.0 << endl;    //3.5
        cout << "7.0 / 2   = " << 7.0/2 << endl;    //3.5
        cout << "7.0 / 2.0 = " << 7.0/2.0 << endl; //3.5
        cout << "7   / 3   = " << 7/3 << endl;      //2
        cout << endl;

    2. %
        //Test "%"
        cout << "Test \"%\"!" << endl;
        cout << "9   % 3   = " << 9%3 << endl;      //0
        cout << "9   % 4   = " << 9%4 << endl;      //1
        //cout << "9.0 % 3   = " << 9.0%3 << endl;
        //cout << "9   % 3.0 = " << 9%3.0 << endl;
        cout << endl;

    3. 四舍五入
        //Test round()
        cout << "Test \"四舍五入\"!" << endl;
        double dRoundA = 1.4;
        double dRoundB = 1.6;
        double dRoundLowA = -1.4;
        double dRoundLowB = -1.6;
        double dRoundLowC = 0.0;
        cout << dRoundA << " = " << RoundEx(dRoundA) << endl;         //1
        cout << dRoundB << " = " << RoundEx(dRoundB) << endl;         //2
        cout << dRoundLowA << " = " << RoundEx(dRoundLowA) << endl;   //-1
        cout << dRoundLowB << " = " << RoundEx(dRoundLowB) << endl;   //-2
        cout << dRoundLowC << " = " << RoundEx(dRoundLowC) << endl;   //0
        cout << endl;

    double RoundEx(const double& dInput)
    {
        double dIn = dInput;
        if (dInput >= 0.0)    //???
        {
            return int(dIn + 0.5);
        } 
        else
        {
            return int(dIn - 0.5);
        }
    }

    4. ceil() 向上取整
        //Test ceil() 向上取整
        cout << "Test ceil() 向上取整!" << endl; 
        cout << "ceil 1.2 = " << ceil(1.2) << endl;      //2
        cout << "ceil 1.8 = " << ceil(1.8) << endl;      //2
        cout << "ceil -1.2 = " << ceil(-1.2) << endl;    //-1
        cout << "ceil -1.8 = " << ceil(-1.8) << endl;    //-1
        cout << "ceil 0.0 = " << ceil(0.0) << endl;      //0
        cout << endl;

    5. floor() 向下取整
        //Test floor() 向下取整
        cout << "Test floor() 向下取整!" << endl;
        cout << "floor 1.2 = " << floor(1.2) << endl;    //1
        cout << "floor 1.8 = " << floor(1.8) << endl;    //1
        cout << "floor -1.2 = " << floor(-1.2) << endl; //-2
        cout << "floor -1.8 = " << floor(-1.8) << endl; //-2
        cout << "floor 0.0 = " << floor(0.0) << endl;    //0
        cout << endl;

    16.1.21:标红的部分需要记住,便于理解记忆

    展开全文
  • 向上取整和向下取整

    千次阅读 2013-06-24 17:13:58
    C语言有以下几种取整方法: 1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分 2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的...
    C语言有以下几种取整方法: 
    1、直接赋值给整数变量。如: 
    int i = 2.5; 或 i = (int) 2.5; 
    这种方法采用的是舍去小数部分 
    2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关。 
    3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如: 
    floor(2.5) = 2 
    floor(-2.5) = -3 
    4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如: 
    ceil(2.5) = 3 
    ceil(-2.5) = -2 
    floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。
    展开全文
  • C语言有以下几种取整方法: 1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分 2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数...

    C语言有以下几种取整方法:
    1、直接赋值给整数变量。如:
    int i = 2.5; 或 i = (int) 2.5;
    这种方法采用的是舍去小数部分


    2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关。
    3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:
    floor(2.5) = 2
    floor(-2.5) = -3
    4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如:
    ceil(2.5) = 3
    ceil(-2.5) = -2
    floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。

    但是在C里面ceil和floor()函数是返回double型,

     

    先在网上发现一个简单的向上取整方法;

    这里我们用<>表示向上取整,[]表示向下取整,那么怎么来表示这个值呢?

    我们可以证明:

    <N/M>=[(N-1)/M]+1    (0<M<=N,M,N∈Z)

     

    不失一般性,我们设N=Mk+r(0<=r<M),

    1)当r>0时,

    左边:<N/M>=<(Mk+r)/M>=<k+r/M>=k+<r/M>=k+1

    右边:[(N-1)/M]+1=[(Mk+r-1)/M]+1=[k+(r-1)/M]+1=k+1+[(r-1)/M]=k+1

    2)当r=0

    左边:<N/M>=k

    右边:[(N-1)/M]+1=[(Mk-1)/M]+1=[(M(k-1)+M-1)/M]+1=[k-1+(M-1)/M]+1=k+[(M-1)/M]=k

    命题得证。

    有了这个公式,我们在代码里可以这样计算:

    int nn=(N-1)/M +1

    .

    因为'/'是往下取整的。

    展开全文
  • 向上向下取整

    千次阅读 2017-01-06 10:31:38
    向下取整的运算称为Floor,用数学符号⌊⌋表示;向上取整的运算称为Ceiling,用数学符号⌈⌉表示。例如: ⌊59/60⌋=0 ⌈59/60⌉=1 ⌊-59/60⌋=-1 ⌈-59/60⌉=0  在C语言中整数除法取的既不是Floor也...
  • double类型向上取整 和向下取整

    万次阅读 2015-06-03 11:29:02
    #include "stdafx.h" #include #include <stdio.h>int main(int argc, char* argv[]) { double a = 77.001; double b = ceil(a); printf("b = %.3f\n",b); double c = 77.999; double d =
  • Latex——向下取整向下取整

    万次阅读 2020-02-04 17:13:38
    Latex——向下取整向下取整 向下取整: $\lfloor x \rfloor$ 例如:⌊x⌋\lfloor x \rfloor⌊x⌋ 向上取整: $\lceil x \rfceil$ 例如:⌈x⌉\lceil x \rceil⌈x⌉
  • 取整函数(在#include<math.h>之下) Floor() 会取不大于自变量的最大整数,这样自变量是3.1或3.9是...(向下取整) #include<iostream> #include<algorithm> #include<map> #include<ma...
  • 向下取整符号

    万次阅读 2013-10-15 15:58:30
    Word->插入->符号,在字体中选择Lucida Sans Unicode 子集选择数学运算符 就能找到向上、向下取整符号。
  • JS中有个全局对象 用于普通的计算Math 他有一些方法,用于平时的计算,这里详细介绍几个常用的 Math.floor(x) // 返回小于x的最大整数 Math.foor(12.2) // 12 Math.foor(15 / 2) // 7 Math.ceil(x) // 返回大于x...
  • 除法的向上取整和向下取整

    千次阅读 2019-06-08 11:29:32
    向上取整:比自己大的最小整数。 两个数相除向上取整:(a + b - 1) / b。...向下取整:比自己小的最大整数。 两个数相除向下取整:(a / b)。也可以用 C++ 函数 floor(),floor(a / b)。 四舍五入:更接近...
  • 向下取整,运算称为 Floor,用数学符号⌊⌋(下有起止,开口向上)表示。 注意,向上取整和向下取整是针对有浮点数而言的; 若整数向上取整和向下取整,都是整数本身。 四舍五入:更接近自己的整数;把小数点后面的...
  • PHP取整数函数常用的四种方法:1.直接取整,舍弃小数,保留...4.向下取整:floor()。一、intval—对变数转成整数型态 intval如果是字符型的会自动转换为0。intval(3.14159); // 3 intval(3.64159); // 3 intval('ruesi
  • ==================================================== 【四舍五入取整截取】 ...==================================================== 【向下取整截取】 SELECT FLOOR(54.56) ======================
  • 向上取整⌈⌉和向下取整⌊⌋符号

    万次阅读 2018-01-16 09:45:49
    向下取整的运算称为Floor,用数学符号⌊⌋表示;向上取整的运算称为Ceiling,用数学符号⌈⌉表示。例如: ⌊59/60⌋=0 ⌈59/60⌉=1 ⌊-59/60⌋=-1 ⌈-59/60⌉=0 向上向下 ...
  • java 向上或向下取整Math

    万次阅读 2013-02-05 10:45:44
    向上取整用Math.ceil(double a) 向下取整用Math.floor(double a)   举例:  double a=35;  double b=20;  double c = a/b;  Syst
  • 1:Python 中的// 结果向下取整 例如 print(7//3) #2.3333333...... #向下取整为 2 print(-7//3) #-2.333333..... #向下取整为 -3 print(7//-3) #-2.333333...... #向下取整为 -3 print(3//7) #0.42.. #向下取整为 0...
  • int向下取整/向上取整

    千次阅读 2019-09-27 12:30:25
    值得注意的是,题目里有一个要求是取给定人数×150%(向下取整)的分数作为面试分数线,这里顺便提一下c++里面的两个取整函数:地板函数(floor)和天花板函数(ceil)。 举个栗子 floor(10.5) == 10 floor(-10.5) =...
  • python向上取整,向下取整

    万次阅读 2017-10-24 15:57:39
    1、python向下取整 方法: 一般使用floor除法,一般除法/,round()四舍五入函数 2、python向上取整 方法:  Python match.ceil函数  ceil(x)函数是向上取整,即取大于等于x的最接近整数。  import...
  • 文章目录一、向下取整、向上取整1.符号2.下标对半分 (p+q)/2(1)结论(2)例子 一、向下取整、向上取整 1.符号 向上取整, 运算称为 Ceiling,用数学符号⌈ ⌉ (上有起止,开口向下)表示。 等于大于自己的最小...
1 2 3 4 5 ... 20
收藏数 60,612
精华内容 24,244
关键字:

向下取整