精华内容
下载资源
问答
  • C语言 int a = 64000; int b = 1920; int c = 64000/1920; 。。。 c = 33; 如何根据c的值,计算出原来的a值64000;因为c*b= 33 *1920 = 63360;
  • 记一个小算法: 如果想得到两个整数相除向上取整的结果的话可以用下面这个算式: c = (a + b - 1) / b; 仅限整数哦~

    记一个小算法:

    如果想得到两个整数相除向上取整的结果的话可以用下面这个算式:

    c = (a + b - 1) / b;

    仅限整数哦~

    展开全文
  • C语言中两个整数相除的结果

    万次阅读 2019-02-03 13:43:38
    c语言中对于除法运算符,当被除数和除数都是整数时,并不会得到一个double的浮点型的数,而是直接舍去小数部分(即向下取整) 我在做patB1026时遭遇此问题,代码改了好久测试点1都不能通过,原来在一开始的除法...

    大坑,大坑,大坑!!!!!!!!!!!!

    在c语言中对于除法运算符,当被除数和除数都是整数时,并不会得到一个double的浮点型的数,而是直接舍去小数部分(即向下取整)

    我在做patB1026时遭遇此问题,代码改了好久测试点1都不能通过,原来在一开始的除法运算时就出错了。。。

    希望大家引以为戒,不要像我一样犯这种低级错误

    展开全文
  • C语言操作符详解

    2018-11-25 23:16:06
    1.两个整数相除是整数,所以结果会自动取整,这就给我们的计算带来了误差,误了避免这种误差,我们常常将被除数转化为浮点型数据。例如 1/2 结果就是0,这很明显有错误,为了保证正确性,只需要写成 1.0/2 即可。 ...

    对于C语言操作符,根据我所掌握的内容可以总结如下:

    1.算数操作符

    算数操作符就是我们最常见的“加减乘数模”:+    -   *    /     %,需要注意的有两点

    1.两个整数相除是整数,所以结果会自动取整,这就给我们的计算带来了误差,误了避免这种误差,我们常常将被除数转化为浮点型数据。例如  1/2  结果就是0,这很明显有错误,为了保证正确性,只需要写成 1.0/2 即可。

    2.除数不能为0

    整型提升:凡是针对char,short型的数学运算,此时都会隐式转换为 int 

    算数转换:

    long double
    double
    float
    unsigned long int
    long int
    unsigned int
    int

    如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。
    警告: 但是算术转换要合理,要不然会有一些潜在的问题。

    2.移位操作符

           << 左移操作符        左移相当于乘以2

           >> 右移操作符        右移相当于除以2

    左移操作符:左边抛弃,右边补0

    右移操作符:1. 逻辑移位 左边用0填充,右边丢弃            2. 算术移位 左边用原该值的符号位填充,右边丢弃。

    我们常用的是算数移位。

    符号位就是最高位,代表这个十进制数的正负:

         最高位如果是0,就是正数,右移时左边补0

         最高位如果是1,就是负数,右移时左边补1

    注意:1.不移动负数位   2.移动0位是允许的但无意义

    3.位操作符

    & 按位与         两个操作数都为1,结果才是1

    |  按位或         两个操作数都为0,结果才是0

    ^ 按位异或      两个操作数相同,结果是0,两个操作数不相同,结果是1

    ~ 按位取反      按位取相反数  0变成1,1变成0

    应用:

            将一个数a的第n位设置为1,就是   a|(1<<n)

            将一个数a的第m位设置为0,就是   a&(~(1<<m))

    4.赋值操作符

    复制操作符最常见的就是“=”,赋值操作符可以连续使用,比如  a = x = y+1;//连续赋值

    还有其他我们会用到的复合赋值操作符:

    +=        *=         /=      %=      >>=     <<=       &=        |=       ^=

    5.单目操作符

    !      逻辑反操作
    -      负值
    +      正值
    &      取地址
    sizeof    操作数的类型长度(以字节为单位)
    ~      对一个数的二进制按位取反
    --      前置、后置--
    ++      前置、后置++
    *      间接访问操作符(解引用操作符)
    (类型)    强制类型转换

    需要注意的就是*  间接访问操作,这个会在指针里面广泛用到。

    ++i,--i 在使用i之前,先使i的值加1(减一)

    i++,i--在使用i之后,先使i的值加1(减一)

    6.关系操作符

    >
    >=
    <
    <=
    !=  用于测试“不相等”
    ==    用于测试“相等”

    这些都比较简单,没啥可说的

    7.逻辑操作符

    &&   逻辑与       两个条件同时满足
    ||      逻辑或       两个条件至少满足一个

    短路求值:&&左侧表达式为假时,右侧表达式不会进行求值

                         ||左侧表达式为真时, 右侧表达式不会进行求值

    8.条件操作符

    exp1 ? exp2 : exp3   C语言中唯一 一个三目运算符

    if(exp1)

       {exp2;}

    else

        {exp3;}

    9.逗号表达式

    exp1, exp2, exp3, …expN

    逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达
    式的结果。

    例如:

    int a = 1;
    int b = 2;
    int c = (a>b, a=b+10, a, b=a+1);

    分析:a>b,为假,所以c=0,

            再往右执行a=b+10  =>   a=12  =>  c=12,

           再往右执行,c=a  =>    c=12,

           再往右执行,b=a+1   =>  b=12+1,所以c=13。

    展开全文
  • 文章目录python2python2除法python2除法取整python...  python2的除法,与c语言除法类似,两个整数相除结果一定是整数,除数与被除数有一个是浮点数,结果就是浮点数。因此有一种除法情况会出问题,就是两个整数相...

    python2

    python2除法

      python2的除法,与c语言除法类似,两个整数相除结果一定是整数,除数与被除数有一个是浮点数,结果就是浮点数。因此当两个整数相除,结果又有小数时,由于结果是整数,所以小数部分会被省略,针对这种情况,要实现真正的除法,除数与被除数至少有一个应改为浮点数。(貌似python2.7开始,除法和python3除法一样了,没有仔细考究)

    a = 3
    b = 2
    print a/b
    print float(a)/b
    print a/float(b)
    print float(a)/float(b)
    
    # 结果
    1
    1.5
    1.5
    1.5
    

    python2除法取整

      加一个int(),进行强制类型转换即可。

    a = 4.5
    b = 3
    print a/b
    print int(a/b)
    
    # 结果
    1.5
    1
    

    python2除法取余

      利用%操作即可。

    a = 5.5
    b = 3
    print a % b
    
    # 结果
    2.5
    

    python3

    python3除法

      python3的除法就直接使用"/",就可以了,不存在python2的情况

    a = 3
    b = 2
    print(a/b)
    
    # 结果
    1.5
    

    python3除法取整

      利用"//"操作

    a = 5.5
    b = 2
    print(a//b)
    
    # 结果
    2.0
    

    python3除法取余

      利用"%"操作

    a = 5.5
    b = 2
    print(a%b)
    
    # 结果
    1.5
    

    python3精确减法与精确除法

      我们先看看下面的输出

    a = 0.9
    b = 1
    
    print(b-a)
    print((b-a)/100)
    print((0.1)/100)
    
    # 结果
    0.09999999999999998
    0.0009999999999999998
    0.001
    

      python计算要把数字先转为二进制,因为浮点数以二进制形式表示时的有穷性(利用乘K取余法,0.9的二进制无限延展),会导致计算误差。下面摘自python文档原话。

    On most machines today, floats are approximated using a binary fraction with the numerator using the first 53 bits starting with the most significant bit and with the denominator as a power of two.

    这不是只有python才有的bug,也不是你代码的bug,所有的编程语言都会有这个问题,当然可能很多编程语言会使用某些机制来规避这种显示。回到该blog的例子,0.9的二进制表示如下:0.11100110011001100110011001100110011001100110011001100110.11100110011001100110011001100110011001100110011001100111-0.9的二进制表示为:0.00011001100110011001100110011001100110011001100110011000.0001100110011001100110011001100110011001100110011001100转化过来就是0.09999999999999998
      这时候为了实现精确运算,可以使用类decimal。

    import decimal
    decimal.getcontext().prec = 10   # 取小数点后精度到第10位
    a = 0.9
    b = 1
    
    print(decimal.Decimal(b)-decimal.Decimal(a))
    print((decimal.Decimal(b)-decimal.Decimal(a))/100)
    print((0.1)/100)
    
    # 结果
    0.1000000000
    0.0010000000
    0.001
    

      当然,直接使用近似函数round()也是可以的。

    a = 0.9
    b = 1
    
    print(round(b-a, 10))
    print(round((b-a)/100, 10))
    print(round((0.1)/100, 10))
    
    # 结果
    0.1
    0.001
    0.001
    
    展开全文
  • C语言·算数运算符

    2020-03-16 13:33:22
    两个整数相除结果仍为整数 5/3=1 5/3.0=1.666667(低类向高类转换) -5/3=-1(向零方向取整即去尾法,比如:3.4,取成3。) 运算符结合性:当两个同级的运算符碰到一起,优先级一致了,看从左到右算还是右到左算。 ...
  • Ø两个整数相除的结果为整数 如5/3的结果值为1,舍去小数部分 如果除数或被除数中有一个为负值,舍入方向不固定。例如,-5/3,有的系统中得到的结果为-1,在有的系统中则得到结果为-2 VC++采取“向零取整”的...
  • c语言基础--运算符。

    2020-08-11 17:28:06
    两个实数相除的结果为双精度实数,两个整数相除的结果为整数(一般向0取整) 例如:5/3 运行结果为1,舍去了小数部分 根据整数除法特性:四舍五入 设计方法 四舍五入到个位 #include int main() { float n = 1.525f; /...
  • 一.运算符种类: ...2. 除(/):若整数相除,结果取整,如:5/2=2,如果运算中除数和被除数中的其一为浮点数, 则结果为浮点数, 如:5.0/2 =2.5 5/2.0 = 2.5 5.0/2.0 = 2.5  3. 求余(%):只能对整数运算, 不允许
  • 当我们有1之后就会产生...整数相除,取整数部分。7%3=商2,余1 /和%不能对整数0进行操作,否则会中断程序。但是可以对浮点0进行操作,但是得到的结果是inf,表示无穷大。 %不能对浮点数使用。 /向零取整(取更接近0的
  • C语言----运算符

    2018-06-05 10:30:29
    两个整数相除的结果为整数,但是如果除数或者被除数中有一个为负值,则舍入的方向是不固定的,多数采取向零取整的方法,取整后向零靠拢;如果加减乘除由一个数为实数或双精度数,则结果是double型,应为所有的实数都...
  • 1 算术运算符Arithmetic Operator 1双目运算符Binary arithmetic operators +加 -减*乘 /除%取余 注意事项 /对于两个整型数相除取整 如 5 / 2 = 2 5.0 / 2 = 2.5 %取余数参与运算的两个数必须为整数 如 5 % 2 = 1 ...
  • 标识符只能由字母,数字,下划线...*两个整数相除结果还是整数 且向0取整 取余:7%4=3 注:取余必须俩整数 应用:分离各位数,设x为一个三位数,将其个,十,百分离出来,分别保存到变量a,b,c 思路:运用取余 ...
  • 1,两个整数相除的结果为整数,例:5/3=1。 2,向零取整:-5/3=-1(离零近的) 二,横运算(取余运算) 1,%左右两侧均为整形,如7%4=3; 实际应用 1 分离各个位数 设x为一个三位整数,将个,十,百位数分离出来,并...
  • C语言中除法怎么取得小数

    万次阅读 2012-11-06 16:16:58
    除了一开始用float进行定义之外, 后面进行除法运算的时候要加.0, 否则算出的结果电脑会自动取整~~ ...除法运算符" / ",如果是两个整数相除结果为整数 如果需要保留小数时 必须将其中一个除数转换为浮点数
  • C语言math.h详解

    2020-12-03 14:30:21
    取上整(里面可以填整数也能填小数,整数返回自己,小数向上取整) int floor (double a); 取下整(同上) double modf (double a, double ip); 将参数的整数部分通过指针回传, 返回小数部分,整数部分保存在ip中 ...
  • 2020-11-29

    2020-11-29 18:23:38
    C语言两个整数相除,结果会被截短,小数点后的数字会被舍去,则整体结果会向下取整,如960/166=5.783,在C语言中就等于5. 显然这种结果是不满足我们想要的结果的。那么其中一种方法使得结果向上取整就是被除数加上...
  • 2. 算术运算

    2014-05-11 17:25:24
    两个整数相除会去掉小数部分,例如:1/2 = 0 二不是0.5 %的两个运算符必须是整数,如果不是整数将编译失败! 当操作数有负数时,%和/的计算结果与机器的具体实现有关,即可以向上取整也可以向下取整。 #include ...
  • 对操作符理解

    2017-11-25 00:00:04
    运算符是一种向编译程序说明一个特定的数学或逻辑运算的符号。C语言的运算符主要分为12类: ...(2)两个整数相除,结果为整数,舍去小数部分。(“向零取整”,);(3)参加运算的两个数中有一个数为实数,结果为d...
  • matlab的一些语法知识

    2017-07-14 10:27:37
    matlab作为仿真工具,如今已经成为工科生必会的工具,其语法和c语言很相似,那么就来复习一下吧。round()函数和fix()函数的作用都是取整,区别是,round是四舍五入,而fix是都舍掉了,即向0取整。还有floor()是不...
  • 注意:两数相除整数,舍去小数部分。采用“向0取整”的方法,即5/3=1,-5/3=-1。 (2)强制类型转换:(类型名)(表达式) 若写成(int )x+y 则只将x转换成int型。 例:#include  int main()  {  float x; ...
  • Google公司首席架构师、Jolt大奖得主Joshua Bloch和Emacs合作创始人、C语言畅销书作者Guy Steele倾情推荐。 算法的艺术和数学的智慧在本书中得到了完美体现,书中总结了大量高效、优雅和奇妙的算法,并从数学角度...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

c语言整数相除取整

c语言 订阅