zoukankan      html  css  js  c++  java
  • 小学数学教的求余数和php取模的区别

    小学数学老师告诉我们,求余数:同号相除等于正数,异号相除等于负数。但是php中取模和这个有点不一样,主要区别在于取模的结果符号是由被除数符号决定的。来人,把demo给朕抬上来~

    科普

    本人学渣,为了避免概念混淆,特意梳理下概念:

    被除数 ➗ 除数 = 商  ...  余数
    

    测试

    <?php
    // **** 为了避免%和/混淆,下面顺便对比一下求商的过程,可得求商结果的符号和php运算中是一致的.
    echo '求商...'.PHP_EOL;
    echo '求商 = 被除数(正数) / 除数(负数):'.PHP_EOL;
    $a1 = intval(10/-3);
    echo $a1.PHP_EOL;
    
    echo '求商 = 被除数(负数) / 除数(正数):'.PHP_EOL;
    $a11 = intval(-10/3);
    echo $a11.PHP_EOL;
    
    echo '求商 = 被除数(负数) / 除数(正数)[使用高精度方法]:'.PHP_EOL;
    $a111 = bcdiv('-10', '3');
    echo $a111.PHP_EOL;
    
    echo PHP_EOL.PHP_EOL;
    
    // **** 下面是求模和数学中求余的主要区别,求模的余数符号是由被除数的符号决定的,即使是高精度计算也一样 ****
    echo '求模...'.PHP_EOL;
    // 求模 = 被除数 % -除数
    echo '求模 = 被除数(正数) % 除数(负数):'.PHP_EOL;
    $a2 = 10%-3;
    echo $a2.PHP_EOL;
    
    echo '求模 = 被除数(负数) % 除数(正数):'.PHP_EOL;
    $a22 = -10%3;
    echo $a22.PHP_EOL;
    
    echo '求模 = 被除数(负数) % 除数(正数)[使用高精度方法]:'.PHP_EOL;
    $a222 = bcmod('-10', '3');
    echo $a222.PHP_EOL;
    
    

    结果

    求商...
    求商 = 被除数(正数) / 除数(负数):
    -3
    求商 = 被除数(负数) / 除数(正数):
    -3
    求商 = 被除数(负数) / 除数(正数)[使用高精度方法]:
    -3
    
    
    求模...
    求模 = 被除数(正数) % 除数(负数):
    1
    求模 = 被除数(负数) % 除数(正数):
    -1
    求模 = 被除数(负数) % 除数(正数)[使用高精度方法]:
    -1
    
  • 相关阅读:
    sql like模糊查询
    mysql没有delete操作,那是delete from操作,
    j详细说明ava于clone办法
    基于ZooKeeper的Dubbo简单抽样登记中心
    度小于所述过程:es.exe
    Android 支付宝钱包手势password裂纹战斗
    How draw a stem -and -leaf &amp; box-plot display by R.or Python
    POJ 2420 A Star not a Tree? (模拟退火)
    记userscripts.org
    基于最简单的FFmpeg包封过程:视频和音频分配器启动(demuxer-simple)
  • 原文地址:https://www.cnblogs.com/xuduan/p/15057308.html
Copyright © 2011-2022 走看看