Java中的位移运算符

 我来答
世纪网络17
2022-09-28 · TA获得超过5940个赞
知道小有建树答主
回答量:2426
采纳率:100%
帮助的人:141万
展开全部
    移位运算符就是在二进制的基础上对数字进行平移         我们知道 Java中byte short和char类型在进行计算时都是先将其转换为int类型 同样在进行移位运算时也不例外 它们移位后的结果也都会变成int类型 由于int类型为 位的( ) 所以对于byte short char和int进行移位时 规定实际移动的次数最多是 位 如果超过 则按n = n % 来计算 也就是说移位 次和移位 次得到的结果相同 移动long型的数值时(long是 位的) 规定实际移动的次数是移动次数和 的余数 也就是移动 次和移动 次得到的结果相同 您可以亲自动手做下试验         现在我们介绍Java中的三种位移运算符         )《(左移)        运算规则 按二进制形式把所有的数字向左移动对应的位数 高位移出(舍弃) 低位的空位补零         语法格式         需要移位的数字 《 移位的次数        例如 《 则是将数字 左移 位        计算过程         《         首先把 转换为二进制数字(int类型的话为 位 字节 long的话为 位 字节) 然后把该数字高位(左侧)的两个零移出 其他的数字都朝左平移 位 最后在低位(右侧)的两个空位补零 则得到的最终结果是 则转换为十进制是         数学意义 在数字没有溢出的前提下 对于正数和负数 左移一位都相当于乘以 的 次方 左移n位就相当于乘以 的n次方 比如 《 = *         )》(带符号右移)        运算规则 按二进制形式把所有的数字向右移动对应位数 低位移出(舍弃) 高位的空位补符号位 即正数补 负数补         语法格式         需要移位的数字 》 移位的次数        例如 》 则是将数字 右移 位        计算过程 的二进制形式为 然后把低位的最后两个数字移出 因为该数字是正数 所以在高位补零 则得到的最终结果是 转换为十进制是         数学意义 右移一位相当于除 右移n位相当于除以 的n次方         )>>>(无符号右移)         运算规则 按二进制形式把所有的数字向右移动对应位数 低位移出(舍弃) 高位的空位补零 其他结构和》相似         位移运算通常用来对代码进行速度上的优化 用它来代替乘除法将是很好的选择         下面来举几个例子 希望对大家使用位移运算符有所帮助        用位移运算符来实现  i /         = + +         所以对i / 可以这样来表示 ( i 《 ) + ( i 《 ) + ( i 《 )        写出( q 《 ) + ( q 《 )实现的代码        原式 = q * ^ + q * ^ = q * ( + ) = q * lishixinzhi/Article/program/Java/hx/201311/26978

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式