位 与 或 异的概念和计算(借鉴)

什么是位计算 ?
                                                                              

位计算首先是以 一个数的二进制形式进行计算,判断然后返回每一位得出的结果

一、与(&)计算符

        位与:两个操作数 同位上的数 都为 1 才为1  其他情况都为0

        例如:整数 a = 15   整数 b = 127
        计算:(a & b)

15 的二进制位:0000 1111
127 的二进制为:0111 1111

在这里插入图片描述
即:(a & b) = 15


二、或(|) 计算符

        或(|)计算:两个操作数 同位上的数 只要有一个为1  就为1 其余的情况都为0

        例如:整数 b = 127   整数 c = 128
        计算:(b | c)

127 的二进制位:0111 1111
128 的二进制位:1000 0000

在这里插入图片描述

 即:(b | c) = 255


      三、非(~)运算符

        非运算:对应位 有一位 为1 就返回0   对应为上有一位 为0  就返回1 (实际上的意义就是 反转 1>0  0 >1)

        例如:整数 d = 1 
        计算:(~d)
        十进制 1 的二进制表示为:

        0000 0001

        每位都取反为:

        1111 1110

        这是内存中的保存形式。我们读取的十进制是根据原码来读取,而在内存中,数值都是以二 进制补码形式存储的。正数的补码和原码一样,负数的补码得到过程:原码 转 反码 再转 补码

然后计算取反后的补码,其真值就是结果。
在这里插入图片描述

 


四、异或(^)

        异或(^)运算符:对应位上 相同就为0   不同的就为1

        例如:整数 e = 2   整数 f= 3
        计算:(e ^ f)

2 的二进制位:0000 0010
3 的二进制位:0000 0011

在这里插入图片描述

 即:(e ^ f) = 1


 

五、移位运算符(<<,>>)

        移位运算也算做算数表达式 其值也是算术值

        左移运算符是将二进制数 位向左边移动  左边移动的位 一一舍去  右边空出来的位 用0 补上

        右移运算符是将二进制数 位向右边移动 右边移动的位 一一舍去  左边空出来的位 用0 补上

5.1左移运算符

        <<:将二进制对应的位数 向左移动 规定的位数  左边的舍去  右边空余的位数 补 0

        例如:整数 g = 10
        计算:g<<2

10 的二进制位:0000 1010

在这里插入图片描述
数学意义:
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。

 5.2 右移运算符

>>:将二进制数 位数从最右边开始 依次删除 指定的位数  左边空出来的 依次补 0 并返回


  

借鉴于:为了熟悉  自己手打并加入了一些自己的看法

位运算符详解(与,或,非,异或,<<,>>)_mofeigege的博客-CSDN博客_位运算符的理解位运算符主要是以二进制规则进行运算1.与(&)运算符使用规则:两个二进制操作数对应位同为1 结果位 才为1,其余情况为0;例如:整数 a = 15   整数 b = 12715 的二进制位:0000 1111127 的二进制为:0111 11112.或(|)运算符使用规则:两个二进制操作数对应位只要有一个为1 结果位 就为1,其余情况为0例如:整数 a = 15   整数 b = 127...https://blog.csdn.net/mofeigege/article/details/106304076?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164628925316780271533384%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164628925316780271533384&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~top_positive~default-1-106304076.nonecase&utm_term=%E4%BD%8D%E8%BF%90%E7%AE%97%E7%AC%A6&spm=1018.2226.3001.4450

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·惊鸿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值