移位运算符就是在二进制的基础上对数字进行平移。(只是二进制)
按照平移的方向和填充数字的规则分为三种:
<<(左移)、>>(带符号右移)和>>>(无符号右移)。
在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是移动66次和移动2次得到的结果相同。
三种移位运算符的移动规则和使用如下所示:
“<<”运算规则:
按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
语法格式:
需要移位的数字 << 移位的次数
例如: 3 << 2,则是将数字3左移2位
计算过程:
3 << 2
首先把3转换为二进制数字
0000 0000 0000 0000 0000 0000 0000 0011,
然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是
0000 0000 0000 0000 0000 0000 0000 1100,
则转换为十进制是12.
“>>”运算规则:
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),
高位的空位补符号位,即正数补零,负数补1.
语法格式:
需要移位的数字 >> 移位的次数
例如11 >> 2,则是将数字11右移2位
计算过程:
11的二进制形式为:
0000 0000 0000 0000 0000 0000 0000 1011,
然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终
结果是:
0000 0000 0000 0000 0000 0000 0000 0010.
转换为十进制是2.
“>>>”运算规则:
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。
无论正数还是负数都在高位插入0;
分享到:
相关推荐
c语言之运算符练习题 C语言运算符优先级和口诀 共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof ...移位五,关系六 // 移位运算符:<< >> ,关系:> < >= <= 等
控制程序流程<br>3.1 使用Java运算符<br>3.1.1 优先级<br>3.1.2 赋值<br>3.1.3 算术运算符<br>3.1.4 自动递增和递减<br>3.1.5 关系运算符<br>3.1.6 逻辑运算符<br>3.1.7 按位运算符<br>3.1.8 移位运算符<br>3.1.9 ...
Java 移位运算符是编程语言中用于处理二进制位的一种高效操作方式,它们能够对整数类型(byte, short, int, long)的值进行左移、右移和无符号右移操作。理解这些运算符对于优化代码和深入理解计算机底层工作原理至...
27<br><br>0056 强行改变运算符的运算顺序 27<br><br>第3章 程序算法 29<br><br>3.1 数据结构 30<br><br>0057 如何实现单向链表 30<br><br>0058 如何实现双向链表 35<br><br>0059 如何实现堆栈 41<br>...
5. 移位运算符:<<、>>、>>> 6. 比较运算符:==、!=、<、>、<=、>= 7. 逻辑运算符:&&、|| 8. 赋值运算符:=、+=、-=、\*=、/=、%=、<<=、>>=、&=、^=、|=、>> 二、Java 异常处理 Java 中的异常处理机制可以帮助...
<br> 8.4 习题 <br>第9章 宏<br> 9.1 宏的定义和引用 <br> 1 宏的定义<br> 2 宏的引用<br> 3 宏的参数传递方式<br> 4 宏的嵌套定义<br> 5 宏与子程序的区别 <br> 9.2 宏参数的特殊运算符 <br> 1 连接运算符...
<br> 8.4 习题 <br>第9章 宏<br> 9.1 宏的定义和引用 <br> 1 宏的定义<br> 2 宏的引用<br> 3 宏的参数传递方式<br> 4 宏的嵌套定义<br> 5 宏与子程序的区别 <br> 9.2 宏参数的特殊运算符 <br> 1 连接运算符...
宏<br> 9.1 宏的定义和引用 <br> 1 宏的定义<br> 2 宏的引用<br> 3 宏的参数传递方式<br> 4 宏的嵌套定义<br> 5 宏与子程序的区别 <br> 9.2 宏参数的特殊运算符 <br> 1 连接运算符<br> 2 字符串整体传递...
<br> 8.4 习题 <br>第9章 宏<br> 9.1 宏的定义和引用 <br> 1 宏的定义<br> 2 宏的引用<br> 3 宏的参数传递方式<br> 4 宏的嵌套定义<br> 5 宏与子程序的区别 <br> 9.2 宏参数的特殊运算符 <br> 1 连接运算符...
继组合逻辑后,书中的重点会转向时序逻辑电路,如寄存器、计数器和移位寄存器。时序逻辑电路具有记忆功能,能够存储和处理序列信息,是构建各种数字系统(如计算机内存和计时器)的核心。这部分内容会涉及到状态机的...
移位运算符是按位运算符的一种,包括左移位运算符(<<)和右移位运算符(>>). 左移位运算符将数值的位向左移动指定的位数,相当于乘以2的相应次方;右移位运算符则将数值的位向右移动,相当于除以2的相应次方。需要注意...
移位运算符是指用于执行移位运算的符号,例如 <<、>>、>>> 等。这些符号可以用来将数字向左或向右移动指定的位数。 例如:int a = 10; int b = a << 2; // b 的值将是 40 六、三元运算符 三元运算符是指用于执行...
位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。 左移运算符(<<) 左移运算符是将一个数的所有位都向左移动若干位。在C语言中用<<运算符表示。...
=)、位运算符(按位与&、按位异或^、按位或|)、逻辑运算符(逻辑与&&、逻辑或||)和移位运算符(左移<<、右移>>)。 三目运算符又称为条件运算符,形式为表达式1 ? 表达式2 : 表达式3。其执行过程是先计算表达式1...
移位运算符主要包括左移位运算符(<<)、右移位运算符(>>>)和带符号的右移位运算符(>>)。这些运算符可以单独用来处理int型整数。 1. 左移位运算符(<<) 左移位运算符用“<<”表示,是将运算符左边的对象向左...
移位运算符包括<< >> 等,它们的优先级比算术运算符低。移位运算符都是从左至右结合的。 关系运算符 --------- 关系运算符包括 < <= > >= 等,它们的优先级比移位运算符低。关系运算符都是从左至右结合的。 逻辑...
一个使用C#实现的小案例,通过使用移位运算符来获取汉字的GB2312编码值(附blog原文:https://blog.csdn.net/qq_38768365/article/details/99410757)
<br>199 方差运算 <br>200 级数运算 <br>201 输出素数 <br>202 素数题 <br>203 序列排序 <br>204 整数各位数字排序 <br>205 字符串字母移位 <br>206 Fibonacc数列 <br> <br>第七部分 游戏篇<br> <br>207 商人过河...
本文将深入探讨Java中的三种移位运算符:左移运算符(<<),右移运算符(>>)以及无符号右移运算符(>>>)。 1. 左移运算符(<<) 左移运算符(<<)将一个数的二进制表示向左移动指定的位数。例如,如果`num`是一个...