首页 > 编程知识 正文

赋值运算符的作用是什么,python中位运算符

时间:2023-05-06 12:14:31 阅读:152690 作者:4275

位运算符的基本作用:

位运算符用于处理二进制数,有六个运算符。 |:位或:位与~:位相反,^3360位为异或,位左移。

:逐位向右移动。 其中,按~位反转的是双目运算符,其他都是单眼运算符,位运算符的操作数只有整形和字符

类型数据、

各位运算符的使用方法如下。

(1)|:如果比特或两个数中的任何一个是1,则为1。 例如,8|5、8的二进制数为00001000,5、5,5的二进制数为00000101、8|5的值

是00001101。 十进制是13,可以认为比特运算或实际上提出两个数不同和相同的地方。 因为1|1是1,

所以说只拿出了一半,因为两个1最后变成了一个1,所以说只拿出了一半

2 )如果位和两者的数目为1 (真),则结果为1 )真,否则为0 )假。 例如,85,8的二进制数是00001000,5的二进制数

数为00000101,85的值为00000000,位运算符实际上可视为将两个数相同的地方减半,或与运算相同

11之后只剩下一个1,对两个数来说也只提出了一半

(3) ) ~每~:位反转)遇到1使他为0; 把0变成1就好了。 在计算负数的十进制数是多少时,将他逐位反转,加1进行变换

要是能变成十进制就好了

)4) :位异或)如果两个数不同,则为1,否则为0。 例如,85,8的二进制数是00001000,5,5的二进制数是0000101,8 ^ 5的

值为00001101,00001100,比特运算符的异或可以看作是举出了两个数不同的地方。

(5)逐位左移)将二进制数左移右值(位运算符右数)数位(右)低位)补0是将原数加2,相对于几进制数

数操作相当于乘以几进制数,操作8进制数则相当于乘以8,操作16进制数则相当于乘以16,例如17

的二进制数为00010001,左移后: 00100010,换算成十进制数为34,相当于172,17的八进制数为021,左移后为:210

向左移动1位,就会变成136=178,与8,210相乘的十进制数相同。

)将每一位向右移位)二进制数向右移位(位运算符右边的数)几个位。 左边的补码比特相当于除法,与逐比特左移相同,为

如果是什么进制的话,用什么进制除呢?存在不能整除的问题,结果接近于零

使用位运算符求平均值:

第一种方法是(xy ) ) x|y ) 1,例如9和7、9的二进制数为00001001,7、7的二进制数为0000111、97

因为00000001,他的十进制是1,9|7:00001111他的十进制是15,两个数加起来是16,他往右一挪就是2

16/2是8,8是9和7的平均值,其本质是对于两个数来说,将两个数之类的部分减半。

|把两个数不同的部分全部拿出来,把相同的部分和一半拿出来,所以把两个数相同和不同的部分全部拿出来的话

相当于两个数之和,再往右移动一个,除以2就是平均。 他的代码如下图所示。

#includestdio.hintEverage(intx,int y ) (return ) ) (xy ) (x|y ) )1); }int main () printf('%dn ),everage ) 9,7 ); 返回0; }

第二种方法

(97 ) )9^7)1)与上例相同,为9和7。 他们的二进制数不写。 上面的例子已经在97上面算出了:

00000001,即1,9 ^ 7是00001110,再往右挪一点就是0000111,十进制数为7,71是9和7的平均值。 把两个数

把同一个部分对半分出来,或者给出两个不同的数或不同的数,再往右错开一个,就相当于半分出来,让他们把一样的和不一样的东西变成一样

同样地各拿出一半的是平均。

代码应如下图所示。

# include stdio.hinteverage1(intx,int y ) ) return ) (xy ) ) x^y )1) ); }int main () printf('%dn”,everage1) 9,7 ); printf(%d(n ),Everage1) 10、8 ); 返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。