初学者都能掌握的操作符(上)

今天我就来整理以下C语言中常见的各类操作符:(上)

第一类:算术操作符(+ - * / %)

(1)加减乘就不用多说了,基本规律和数学中是一样的,需要注意的就是类型上的问题。

(2)/   :除法在c语言中的使用是与数学中有差异的,具体体现在如下几个方面:

(1)当要相除的两个数均为int型的时候,那么相除之后仍然为int型,具体比如,3/5的值应该是0,而不是0.6;5/3的值是1...

(2)如果需要正确的计算 第一种是可以将所需相除的数定义为浮点型;第二种就是写成小数的形式,如:5/3写为5.0/3即可

(3)% :(取模运算) 该运算符两边只能是整数,不能为浮点数!

(4)计算规则:一般情况下是先乘除后加减,在优先级相同时要遵循从左到右的顺序来进行运算。

第二类:移位操作符(<<  >>)

(1)<< :左移操作符:“左边丢弃,右边补0”

(2)>> :右移操作符:第一类:算术右移:“右边丢弃,左边补原符号位”

                                        第二类:逻辑右移:“右边丢弃,左边补0”

具体原理是:数的二进制位向左或者向右移动   如:

int a = 2 ;

int b = a<<2 ;

这里指的是 a=2 然后 b是 a 左移两位 :也就是a的二进制向左移动两位

这样说还是或许还是有点不太理解的,那么首先我们来了解一下计算机中数值二进制的存储方式

在计算机中数据的存储都是以反码的形式存储的正数的原码,反码,补码都是相同的,但是负数的原码,反码,补码就要遵循上图的规则了。

有了上述概念之后我们就能很好的理解<<操作符的原理了:如下图

所以2(00000000000000000000000000000010) 左移之后就变为了 4 (00000000000000000000000000000100)

负数的具体移位操作符和正数一致,需要注意的就是计算机中数据是补码的方式!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值