C语言的几种操作符解释

算数操作符

符号: + - * / %
符号说明:

  • —>分别用于整数和小数(浮点数)的加法
  • —>分别用于整数和小数(浮点数)的减法
  • —>分别用于整数和小数(浮点数)的乘法
    /–>分别用于整数和小数(浮点数)的除法
    %–>用于返回两个整数的余数

== 注意==:

    1.+、-、*、/这四个运算符均可用整数及浮点数的运算。     
    2.当使用/运算符时,如果两个操作数均为整形,那么执行整数除法,运算结果也为整形;如果两个操作数至少一个为浮点数,那么执行浮点数运算,运算结果为浮点数。
    3.%运算符只能用于两个整数相除,返回余数。

2.移位操作符

符号:<< >>
符号说明:
<< —> 左移运算符,用于将整数左移指定位数
>> —> 右移运算符,用于将整数右移指定位数
移位规则:
<< (左移运算符):不论算术移位还是逻辑移位,均将左边的
数舍弃,右边空缺位补0 (左边丢弃,右边补0)
>> (右移运算符):当进行逻辑移位时,右边位丢弃,左边空缺位补0(右边丢弃,左边补0)
当进行算术移位时,右边位丢弃,左边位补原数的符号位(右边丢弃,左边补符号位)。
举例说明:
、zhozho```在这里插入图片描述
注意
1.移位操作不改变原值。
2.移位时不能移负数。

位操作符

符号:& | ^
符号说明:
& —> 按位与 (有0出0)
| —> 按位或 (有1出1)
^ —>`` 按位异或 (相同为0,相异为1)
举例说明:
&(按位与)

int a = -3;
int b = -5;
int c =a&b;

因为计算机中存的是二进制的补码,所以将a,b的补码按位与之后再转
化为原码可得c
在这里插入图片描述
一个数&1可得该数二进制最低位是0还是1

int a = 2;
int b = -5;
int c = a&1;    //结果为0
int d = b&1;    //结果为1  

在这里插入图片描述

若想将一个数的二进制第N位置为1,则可将1左移N-1位后与该数二进制做或运算,即(1<<(N-1))|该数二进制。
如想将2的二进制第七位置位1,则将1左移7-1位后或上2的二进制。
在这里插入图片描述
若想将一个数的二进制第N位 置为0,则可将1左移N-1位后按位取反,再与该数二进制做与运算,即(~(<<(N-1)))& 该数二进制。
如想将9的二进制第4位 置为0,则将1左移4-1位后按位取反再与上9的二进制。
在这里插入图片描述

|(按位或):

int a = -3;
int b = -5;
int c = a|b;

因为计算机中存的是二进制的补码,所以将a,b的补码按位或之后再转化为原码可得c
在这里插入图片描述
^ (按位异或):

int a = -3;
int b = -5;
int c = a^b;

因为计算机中存的是二进制的补码,所以将a,b的补码按位或之后再转化为原码可得c
在这里插入图片描述
注意
1.位操作符的操作数必须为整数。
2.计算机中存的是二进制的补码,所以进行的是补码运算,再转化成原码可得最终结果 。
3.一个数的二进制&1可得该数二进制最低位是0还是1.
4.若想将一个数的二进制第N位 置为0,则可将1左移N-1位后按位取反,再与该数二进制做与运算,即(~(1<<(N-1)))& 该数二进制。
5.若想将一个数的二进制第N位 置为1, 则可将1左移N-1位后与该数二进制做或运算,即(1<<(N-1)) | 该数二进制。

尾声

最后希望大家有问题可以提出 互相学习 互相进步
一起吃透C语言 喜欢的大家可以点赞加关注 持续更新喔!!!

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值