求余VS求模--C语言中表述
2013-08-02 17:13
134 查看
之前看帖子,发现许多时候基本上大家都把求模和求余混为一谈了。但实际上二者的概念是有区别的
故而 12%256=12;
-12%256=-12;
-12%-256 = –12;
12%-256 =12;
336 mod 256 =80;
-1 mod 256 =255;
故而求模运算应该是:
(1)当a 为正数时,求模的结果与求余完全一致;
(2)当a 为负数时,求模的结果始终为正数,结果为(a+X*b)%b,其中 a+X*b>=0.
1. 求余
在C语言中,求余对应的操作符是%,且a%b求余的最后结果总是与a符号相同,最后的数值为|a|%|b|。故而 12%256=12;
-12%256=-12;
-12%-256 = –12;
12%-256 =12;
2. 求模
在C语言中,对求模操作没有专门对应的运算符,一般用mod代替。且根据网上查阅资料,一般认为求模运算a mod b中,b必须大于0,且求模的结果必须是正数或者0. 个人对这块的理解可能也不是很深刻,我是根据《C++ premier》第三版中文版32页的论述来推断的,该页有如下申明:336 mod 256 =80;
-1 mod 256 =255;
故而求模运算应该是:
(1)当a 为正数时,求模的结果与求余完全一致;
(2)当a 为负数时,求模的结果始终为正数,结果为(a+X*b)%b,其中 a+X*b>=0.
相关文章推荐
- 求模和求余(附加C语言实现)
- C语言(11)king VS king
- 【转】C/C++求模求余运算符——2013-08-20
- 【C语言学习笔记】VS中"This function or variable may be unsafe."警告的解决办法
- VS2015下C语言连接mysql数据库问题
- c语言串口收发数据VS2013
- CALLBACK--_stdcall(PASCAL调用方式),VS默认是C语言调用方式即__cdecl
- C语言:VS环境下的程序调试快捷键
- C语言:VS环境下的程序快捷键大全以及Windows快捷键命令
- vs2013 C语言设置
- C语言标准IO: [先读再feof] VS [先feof再读]
- VS用C语言连接SQL Server解决办法
- VScode中自定义用户代码片段(C user snippet)自动生成C语言头文件排除重复包含
- 使用VS开发C语言
- 用vs2013编写C语言与编写C++的区别
- VS2015环境下查看C语言编译成的汇编语句的方法
- C语言VS编译环境中的resource file and source file的区别
- C语言:VS环境下的程序快捷键大全以及Windows快捷键命令
- 【初学】用VS2015编译C语言时的疑惑——scanf函数
- 实数范围内的求模(求余)运算:负数求余究竟怎么求