C语言“%”运算符
2024-08-31 08:44:15
C语言中运算符“%”是取余运算符,而非取模运算符。(运算符“%”在C/C++, JAVA中,为取余运算,而在Python中为取模运算)
对于一个C语言取余表达式a % b,设其值为result,有如下公式:
1. k = (int)a / b ((int)强制类型转换,会把值向 0 方向舍入)
2. result = a - k * b
取模和取余的区别:计算 k 的值时舍入的方向不同,取模运算符会把 a / b 的结果向负无穷取舍,而取余运算符会把 a / b 的结果向 0 取舍。(例如,-4 / 3 的取模时 k 的值为 -2 ,而取余时 k 的值为 -1)
例子:
求13 % 4的值。
1. k = (int)13 / 4 = 3
2. result = 13 - 3 * 4 = 1
所以,其值为1。
注意事项:取余运算符的两个操作数必须都是整数,且第二个操作数不能为零。
特殊情况:
当|a| < |b|时,值永远是 a。
当|a| = |b|时,值永远是 0。
当 a = 0 时,值永远是 0。
最新文章
- crontab不执行perl脚本分析
- MSSQL 查询数据库所有表的大小, 有助于删除一些没用的表
- Iterator(迭代器)的使用
- js中attr 与find 获取属性值,
- Ajax做分页
- dede让channelartlist标签支持currentstyle属性 完美解决
- 模板:abs用法
- PHP自动识别字符集并完成转码详解
- SQL 存储过程(学生,课程表,选修表)
- Hadoop学习记录(5)|集群搭建|节点动态添加删除
- HDU 1712 ACboy needs your help 典型的分组背包
- 负载均衡集群之LVS算法和模型
- Mac Python路径总结
- mysql READ-COMMITTED 模式下 行锁不会升级到表级锁
- 逆向project第004篇:令计算器程序显示汉字(下)
- Java数据结构与算法(2) - ch03排序(冒泡、插入和选择排序)
- Ubuntu Linux系统下apt-get命令详解
- Block 实践
- MOBA项目定点数的一个想法
- 44-java断点调式dubug
热门文章
- Verilog之$sreadmemb
- jQuery 插入元素
- 路飞学城Python-Day78
- 将JavaBean对象/List或Set或Map对象转成JSON方式
- 网络教程(10)回顾ARP和ping数据包
- 【2018集训队互测】【XSY3372】取石子
- Btrfs 文件系统
- 【AIM Tech Round 5 (rated, Div. 1 + Div. 2) B】Unnatural Conditions
- ACdream 1229 Data Transmission
- Linux下ffmpeg的wav与amr相互转换