登录
首页 >  文章 >  java教程

移位运算符和按位简写赋值

来源:dev.to

时间:2024-08-17 18:13:04 178浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个文章开发实战,手把手教大家学习《移位运算符和按位简写赋值》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

1.位移位运算符

  • <<: 左移。
  • >>: 向右移动。
  • >>>:无符号右移(零填充)。

2.移位运算符的一般语法
value << num-bits: 将值位向左移动。
value >> num-bits: 将值位向右移动,保留符号位。
value >>> num-bits: 将值位向右移动,在左侧插入零。

3.向左移动

  • 每次左移都会导致该值的所有位向左移动一位。
  • 右侧插入了一个 0 位。
  • 效果:每次移位将值乘以 2。

4.向右移动

  • 每次右移都会将所有位向右移动一位。
  • 保留符号位:0表示正值,1表示负值。
  • 效果:每班将值除以2,向下取整。

5.无信号向右平移(>>>)

  • 不保留信号位;在左边插入0.
  • 用于位模式,其中值被视为无符号数。

6。位移不是旋转

  • 移出的位将会丢失。
  • 移位不允许恢复移出的位。

示例:
左右滚动
*shift演示*

移动字节和短值时要小心

  • java 在计算表达式时自动将 byte 和 short 提升为 int。

示例:

  • 将负字节值右移:提升为int时,高位填充1。
  • 当使用零填充右移时(>>>),这可能会导致问题,因为在零开始出现之前前 24 位将是 1。

带有按位运算符的缩写赋值

  • 所有二元按位运算符都有一种简写形式,将赋值与按位运算结合起来。

示例

x = x ^ 127;
x ^= 127;

移位运算符和按位简写赋值

本篇关于《移位运算符和按位简写赋值》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>