C语言视频 VS2015:[12]算术运算符
VisualStudio 2015的发布,跟随而来的相关的教程的空白,这里讲逐步在VisualStudio 2015上讲解C语言相关的系列视频教程经验(注:由于视频修改难度大,所以先暂时发布文档,视频后期逐步补上),本文主要涉及:①5种基本的算术运算符;②整数运算溢出问题③整数求模(求余)符号问题;④余数结果的符号问题
工具/原料
Visual Studio 2015
Windows 8.1 x64
基本介绍
1、算术运算符主要是用来处理四则运算的符号,是最简单,最常用,但同时也是陷阱最多的运算符符号,在C语言中最长用的算术运算符主要有:加(+),减(-),乘(*),除(/),余(%)
加法
1、C语言加法运算同时支持:①常量+常量;②变量+变量;③变量+常量;④不同类型的变量相加;等,具体的效果如下:
![C语言视频 VS2015:[12]算术运算符](https://exp-picture.cdn.bcebos.com/bff8683e21c2bbd62cf3745b116186254093aeba.jpg)
3、具体的原因分析如下:① 255对应的二进制:1111 1111② 1对应的二进制 :0000 0001③ 255+1和二进制:1 0000 0000④ 而unsigned char只有8位,于是最高位被舍弃了, 保留了最低的8位:0000 0000⑤ 0000 0000转换成十进制:0
![C语言视频 VS2015:[12]算术运算符](https://exp-picture.cdn.bcebos.com/cfa9ae04541bd10f24051429ba0e1799e82aa7ba.jpg)
5、具体的原因分析如下:①右键监视窗口->16旅邯佤践进制显示,效果如下:②从16进制的显示上我们可以看出: 0x7f + 0旌忭檀挢x01 = 0x80,这个运算是符合加法运算规则的;③从另一个角度也说明了计算机的底层运算时不区分符号的;
![C语言视频 VS2015:[12]算术运算符](https://exp-picture.cdn.bcebos.com/bbf95c406afec3142ee68c5dcac1b727ad539cba.jpg)
减法
1、C语言减法跟加法运算一样同时支持:①常量-常量;②变量-变量;③变量-常量;④常量-变量;等,具体的效果如下:
![C语言视频 VS2015:[12]算术运算符](https://exp-picture.cdn.bcebos.com/3761a73acd8920c5d52c9186568a59de440788ba.jpg)
3、为什么数字越减越大呢?16进制显示后或许就可以看出答案了:①-128的16进制是:0x80② 1的16进制是:0x01③ 0x80- 0x01= 0x7f④ 0x7f转换成10进制:127
![C语言视频 VS2015:[12]算术运算符](https://exp-picture.cdn.bcebos.com/89402670d5413a8c5a2bbcbc1ffc508c9ace81ba.jpg)
2、乘法也存在溢出问题,由于加减已经介绍,所以不再推导,感兴趣的可以自己推导
除法
1、除法也同样支持各种方式运算,具体图下图所示:
![C语言视频 VS2015:[12]算术运算符](https://exp-picture.cdn.bcebos.com/3201a8f39187031c96e4b64f6a86242fa972ecba.jpg)
2、余数的符号是怎么确定的呢?按照msdn的说明,余数主要是跟被除数的符号一致的,上图就已经充分证明了这一点哦
![C语言视频 VS2015:[12]算术运算符](https://exp-picture.cdn.bcebos.com/a9338a1fbee434dae77a5390f271fe1d97d8e4ba.jpg)