【C深度解剖】取模与取余

简介: 【C深度解剖】取模与取余


简介:本系列博客为C深度解剖系列内容,以某个点为中心进行相关详细拓展
适宜人群:已大体了解C语法同学
作者留言:本博客相关内容如需转载请注明出处,本人学疏才浅,难免存在些许错误,望留言指正
作者博客链接:睡觉待开机

下面是本节博客的大纲梳理:

引文:

其实C语言中取模号(取余号)有着一点小细节,可能大多数人并不知晓其中的细节。且听我一一道来。

首先,我想强调的是取余!=取模

C语言中的%号是取余号。

那什么是取余?什么是取模?

所谓取余,就是其商为0向取整,这样一个结果就是余数一定与被除数符号一致。

所谓取模,就是其商为-∞向取整,这样一个结果就是模数一定与除数符号一致。

可能上面说的有些抽象,下面通过实例来进行展示:

那我们验证一下C语言是取余还是取模?

int main()
{
  int ret = -10 % 3;
  printf("%d\n", ret);
  if (ret == -1)
    printf("取余\n");
  else if (ret == 2)
    printf("取模\n");
  else
    printf("error\n");
    return 0;
}

那为什么我们大多情况下都可以认为取模等价于取余呢?

那是因为:


完。

相关文章
|
29天前
|
算法
【算法】位运算算法——只出现一次的数字Ⅱ
【算法】位运算算法——只出现一次的数字Ⅱ
|
29天前
|
算法
【算法】位运算算法——两整数之和
【算法】位运算算法——两整数之和
|
3月前
|
存储 算法 Python
技术心得记录:大整数算法【10】Comba乘法(实现)
技术心得记录:大整数算法【10】Comba乘法(实现)
19 0
|
4月前
|
算法 测试技术 C#
【位运算】【 数学】【 哈希映射】2857. 统计距离为 k 的点对
【位运算】【 数学】【 哈希映射】2857. 统计距离为 k 的点对
|
4月前
|
算法 测试技术 C#
【二进制求公约数】【数学】【数论】2543. 判断一个点是否可以到达
【二进制求公约数】【数学】【数论】2543. 判断一个点是否可以到达
|
4月前
|
算法 测试技术 C++
【数学归纳法】【位运算】【异或】3068最大节点价值之和
【数学归纳法】【位运算】【异或】3068最大节点价值之和
|
算法
基础算法(大数操作 前缀和 差分)
基础算法(大数操作 前缀和 差分)
64 0
|
人工智能 算法 C++
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
|
算法 Java API
基础算法练习200题15、整数累加
基础算法练习200题15、整数累加
111 0
基础算法练习200题15、整数累加