首页 > 其他分享 >位运算

位运算

时间:2023-12-14 23:55:36浏览次数:25  
标签:右移 运算 左移 运算符 按位 十进制

位运算

位运算的概念:
分为逻辑位运算符 和 位移运算符

按位与

& (都 1 为 1)

  0 1 1 0 1 0 1
  1 0 1 1 0 1 1
= 0 0 1 0 0 0 1

按位或

| (有 1 为 1 )

  1 0 0 1 1 0 1
  0 1 1 0 1 0 0 
= 1 1 1 1 1 0 1  

按位异或

\(\oplus\) (不 同 为 1)

  1 0 1 0 1 0 1
  0 1 0 1 1 1 0
= 1 1 1 1 0 1 1

按位取反

~ (0 -> 1, 1 -> 0)

  1 0 1 0 1 0 1 
  ~
= 0 1 0 1 0 1 0

左移 <<

  1 0 0 1 0 1
左移一位  (相当于十进制数 * 2 ) 
1 0 0 1 0 1 0   
n <<= i; // n 左移 i 位, n = n * (2 ^ i);

右移 >>

  1 0 0 1 1 0 
右移一位   (相当于十进制数 / 2)  
    1 0 0 1 1 
n >>= i; // n 右移 i位,n = n / (2 ^ i);   

标签:右移,运算,左移,运算符,按位,十进制
From: https://www.cnblogs.com/Elgina/p/17902496.html

相关文章

  • Java-特殊运算符与方法
    Java-特殊运算符与方法一、运算符移位:<<​>>​运算结果说明1<<12代表1的二进制001​左移1位,为010​=24>>21代表4的二进制100​右移2位,为001​=1或:|​二进制运算:(或=有1为1,没则为0)​1​|1​得1​​1​|0​得0​​0​|1​得1​......
  • Java-特殊运算符与方法
    Java-特殊运算符与方法一、运算符移位:<<​>>​运算结果说明1<<12代表1的二进制001​左移1位,为010​=24>>21代表4的二进制100​右移2位,为001​=1或:|​二进制运算:(或=有1为1,没则为0)​1​|1​得1​​1​|0​得0​​0​|1​得1​......
  • 迭代器和三元运算符
    迭代器和三元运算符1.迭代器1.1迭代器介绍迭代器是用来迭代取值的工具,而迭代是重复反馈过程的活动其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次“迭代”而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代whileTrue:data=in......
  • nodejs运算中的失精问题
    nodejs运算中的失精问题问题呈现分析问题如何解决 问题呈现leta=0.1,b=0.2,c=0.3,d=0.4;console.log(a+b)//0.30000000000000004console.log(a-c)//-0.19999999999999998sonsole.log(a-d)//-0.30000000000000004分析问题JavaScript......
  • 241. 为运算表达式设计优先级(分治 +记忆化)
    Problem:241.为运算表达式设计优先级给你一个由数字和运算符组成的字符串expression,按不同优先级组合数字和运算符,计算并返回所有可能组合的结果。你可以按任意顺序返回答案。生成的测试用例满足其对应输出值符合32位整数范围,不同结果的数量不超过示例1:输入:expression=......
  • 运算符
    【一】算数运算符(1)加法x=9y=2result=x+yprint(result)#11(2)减法x=9y=2result=x-yprint(result)#输出:7(3)乘法x=9y=2result=x*yprint(result)#输出:18(4)除法x=9y=2result=x/yprint(result)#输出:4.5(5)取整除x=9......
  • 运算符
     运算符 1,数学运算符1.“+”只有符号两边都是数字的时候才会进行加法运算只要符号任意一边是字符串类型,就会进行字符串拼接2.“-”会执行减法运算会自动把两边都转换成数字进行运算3."*"会执行乘法运算会自动把两边都转换成数字进行运算4.“/”会执行除法运......
  • C++学习笔记八:极限和数学运算<limits><cmath>
    1)<limits>库:1.1源文档:https://en.cppreference.com/w/cpp/types/numeric_limits#include<limits> 1.2库函数:函数解释:对于一个浮点数,lowest表示最小的可表示的负数,min表示最小的可表示的接近0的数,max表示最大的可表示的正数对于一个有符号整数,min表示可以表示的最小的......
  • 在C++中,预处理器提供了一些符号和运算符,这些符号在宏定义中有特殊的含义
    在C++中,预处理器提供了一些符号和运算符,这些符号在宏定义中有特殊的含义。以下是一些常见的符号:#:字符串化运算符,用于将宏参数转换为字符串。#defineSTRINGIZE(x)#xstd::cout<<STRINGIZE(Hello);//输出"Hello"##:连接运算符,用于连接两个标记,使它们成为一个标记。#de......
  • C++学习笔记六:运算符(五种基本运算操作,优先级和结合性)
    这一章对操作符进行简单的总结:1.五种基本运算类型:加减乘除,取余add,substract,multiply,divide,modulusintnumber1{2};intnumber2{7};intresult=number1+number2;result=number2-number1;result=number1-number2;result=number1*number2;result=......