Java 中的右移零填充运算符2024 年 9 月 10 日 | 阅读 3 分钟 在 Java 中,">>>" 运算符是无符号右移运算符。当使用 Java 中的右移运算符时,数字的位会被移到右边,任何移到最右边之外的位都会被丢弃。从左边移入的位会被设置为零,无论它们原来的值是什么。与用于有符号整数并且会保留符号位的 ">>" 运算符不同,">>>" 运算符用于无符号整数。在 Java 中,">>>" 运算符是“无符号右移运算符”,也称为“零填充右移运算符”。它将所有位向右移动指定的次数,并在最左边的位用零填充。该运算符的使用方法如下: 其中,'x' 是要移位的数值,'n' 是要移位的位数。 与“>>”运算符不同,“>>”是“有符号右移运算符”,由于移位过程中会保留符号位,可能导致负数,而“>>>”运算符用于无符号整数。 使用 ">>>" 运算符文件名:RightShift1.java 输出 x = -8, y = 1073741822 说明:在此示例中,变量 'x' 的初始值为 -8,其二进制表示为 '11111000'。当我们使用 ">>>" 运算符将 'x' 的位向右移动两位时,最左边的位会被用零填充,结果值存储在变量 'y' 中。'y' 的值将是 '00111110' (十进制为 62) 您也可以在 byte 和 short 等其他类型上使用此运算符,但必须先将其强制转换为 int。 另外,需要注意的是,此运算符对于处理无符号整数(即永远不会是负数的整数)很有用。 文件名:RightShift2.java 输出 Original number: -5 After right shift zero fill: 1073741822 说明:在此示例中,变量 'num' 初始化值为 -5。当我们对该变量使用 ">>> 2" 运算符时,它会将数字的所有位向右移动两位,并在最左边的位用零填充。因此,'shiftRightZeroFill' 的新值将是 1073741819。 需要注意的是,">>>" 运算符仅适用于非负整数。如果您尝试对其使用负数,它将被通过取其二补码表示形式来转换为正数。 下一个主题Java 中的静态块 |
给定一个仅由小写字母组成的长度为 m 的字符串。我们必须使用字典序方法来确定字符串的第 n 个排列。示例 1:输入:字符串 str[] = "xyz" int n = 4 输出:字典序排列为 "xzy" 说明:所有可能排列的排序顺序:xyz、xzy、yxz、yzx、zxy,...
阅读 4 分钟
? Java Calendar 类 (java.util.Calendar) 是一个非常有用的实用类,用于在 Java 中操作日期和时间。在这里,我将向您展示如何使用 Calendar 类更改日期和时间。使用 Calendar() 类方法获取今天的日期和时间。DateFormat dF = new...
阅读 4 分钟
Java 是一种多线程编程语言,因此发生竞态条件(race conditions)的风险更高。因为相同的资源可能同时被多个线程访问并可能改变数据。我们可以说竞态条件是一种并发 bug。它...
阅读 4 分钟
Java 作为一种面向对象的编程语言,提供了在其他类内部定义类的能力。这种概念允许更好地组织和封装代码。在此上下文中经常出现的两个术语是嵌套类和内部类。虽然它们有关联,但它们服务于...
阅读 4 分钟
在本节中,我们介绍了 Java 程序中查找两个数 GCD 的不同逻辑。最大公约数:它是能够整除两个或多个数字的最高数字。它是 GCD 的缩写。它也称为最大公因子 (GCF)...
阅读 4 分钟
在流行的面向对象编程语言 Java 中,有许多技术可用于将数据输出到控制台。经常用于此的两种方法是 print() 和 println()。即使它们看起来相同,但也有一些细微的差别可能会改变它们如何...
阅读 3 分钟
在本节中,我们将了解什么是实际数,并创建 Java 程序来检查给定的数是否为实际数。实际数程序经常在 Java 编码面试和学术中被问到。实际数 一个数 X 被称为...
5 分钟阅读
Java 是最流行和广泛使用的面向对象编程语言。它为开发人员提供了开发各种应用程序(如 Web、桌面应用程序、游戏等)的平台。使用 Java 编程语言的原因是它提供了安全性、可靠性,并且速度也很快。编写代码...
5 分钟阅读
Lambda 表达式在 Java 8 中引入,是编写简洁、函数式代码的强大工具。Lambda 表达式是一个匿名函数,可用于实现函数式接口定义的方法。函数式接口是只定义了一个...的接口。
阅读 4 分钟
如何在 Java 中打印 N 个闰年。在闰年问题解决中,基本论点是应该有 4 年的间隔,这本身是不正确的。日历中的任何年份,如果不符合其他标准...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India