栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言操作符删除

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言操作符删除

第三步:得到最后的结果

左移之后,得到的新的二进制数,是补码,对补码-1,并按位取反,得到的是数的原码,在经过进制转换得到最后的结果。

值得注意的是:将a变量存放的二进制数改变之后,将改变后的二进制数存到哪个变量,哪个变量的值就会是这个结果,如果不将结果存到a变量里面,是不会改变a变量的值的。;

右移操作符:

右移操作符的意思是将内存中存放的二进制数,向右移一位二进制数,移出的那一位二进制数被丢弃,此时一个比特位的空间会空出来,补上原符号位的二进制数。

假如 int a = 4;a>>1;,求最后的结果

第一步:求出a变量的二进制数

求出的二进制数必须是32位,必须是整数的补码

为什么是

&,| 和 &&

按位与的意思是:对二进制位上的二进制数进行与运算。

假如a和b是整型变量

求a&b的运算结果时:

第一步:分别求出两个变量中的32位二进制数

求得的二进制数必须是32位,并且是整数的补码。

为什么是求得的二进制数是32位?

a和b是整型变量,向内存申请四个字节的空间,一个字节=8个比特位,一个比特位存放一位二进制数,所以一个整型变量占用32个比特位,存放32位二进制数。

为什么求得的二进制数是整数的补码?

a和b是整型变量,向里面存放的是整数,整数向里面存放时,存放的是它的补码。

第二步:对求出的二进制数进行与运算

求得两组二进制数,进行与运算时,是分别对两组数的对应的二进制位上的二进制数进行与运算,这对应位置上的二进制数可以看作一对,一对中如果有0,则运算结果为0,一对中如果都是1,则运算结果为1。

第三步:求出最后结果

与运算之后,得到的一组新的二进制数是结果的补码,对补码-1和按位减一得到最后的原码,最后进行进制转换,就会得到最后的结果。


按位或的意思是:对二进制位上的二进制数进行或运算

假如a和b是整型变量

求a | b的运算结果

第一步:求出两个变量中存放的二进制数

二进制数必须是32位,并且是整数的补码

为什么求出的二进制数必须是32位?

a和b是整型变量,向内存中申请了四个字节的空间,一个字节=8个比特位,一个比特位存放一位二进制数,所以一个整型变量占用32个比特位,存放32位二进制数。

为什么求出的二进制数必须是整数的补码?

a和b都是整型变量,向里面存放的是整数,整数在存放时,存放的是它的补码。

第二步:进行或运算

对求得两组二进制数,进行或运算时,是对两组数的对应的二进制位上的二进制数进行或运算,这对应位置上的二进制数可以看作一对,一对中如果有1,则运算结果为1,一对中如果都是0,则运算结果为0。

第三步:求出最后结果

或运算之后,得到的一组新的二进制数是结果的补码,对补码-1和按位取反,得到最后的原码,最后进行进制转换,就会得到最后的结果。


按位异或的意思是:对二进制位上的二进制数进行异或运算

第一步:求出两个变量中的二进制数

求出的二进制数必须是32位的,并且是整数的补码

为什么求出的二进制数必须是32位?

a和b是整型变量,向内存申请四个字节的空间,一个字节=8个比特位,一个比特位存放一位二进制数,则一个整型变量申请了32个比特位,存放32位二进制数。

为什么求出的二进制数必须是整数的补码

a和b是整型变量,向里面存放的是整数,整数存放的时候,将它的补码存放进去。

第二步:对求出的两组二进制数进行异或运算

求得两组二进制数,进行异或运算时,是对两组数的对应二进制位上的二进制数进行异或运算,这对应位置上的二进制数可以看作一对,一对中如果数字相同则运算结果为0,不同则运算结果为1。

第三步:求出最后结果

异或运算之后,得到的一组新的二进制数是结果的补码,对补码-1和按位取反,得到最后的原码,最后进行进制转换,就会得到最后的结果。

ps:二进制位是计算机中数据存储的最小单位,用来表示0或者1;二进制数是由n个0或者1组成的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号