Java 中的波浪号运算符2025年3月17日 | 阅读 3 分钟 按位补码运算符属于一元运算符(仅处理单个操作数)。它接受一个数字并反转其所有位。当在位上应用按位运算符时,所有 1 都变成 0,反之亦然。按位补码的运算符是 ~(波浪线)。 示例 输入 ~ 0000 0011 输出 1111 1100 输入 1110 0111 输出 0001 1000 应谨慎使用按位补码运算符。如果结果存储在无符号变量中,则 ~ 波浪线运算符对一个小数字的结果可能是一个大数字。此外,如果结果存储在有符号变量中(假设负数以 2 的补码形式存储,其中最左边的位是符号位),结果可能是一个负数。 输入 n = 2 2 的二进制形式 = 0010 2 的波浪线运算符 = ~ 0010 = 1101 1101 的十进制值是 13。 预期输出:13 正确输出:-3 编译器返回的是 2 的补码。 示例 1:用于演示波浪线运算符的程序输出 ![]() 解释: 2 的波浪线 (~2) 是 -3 而不是 13。但是,为什么呢? 当以十进制(基数为 10)打印数字时,NOT 运算的结果可能会令人惊讶。特别是,正数可能会变成负数,反之亦然。 让我们首先找到 2 的按位补码(即 -3)的二进制表示。 负数以正数的 2 的补码形式存储。 2 的补码 2 的补码适用于二进制数。一个数的 2 的补码等于该数的 1 的补码加 1。 示例 2 的波浪线运算 (~ 0010) 是:1101 现在计算 3 的 2 的补码 3 的二进制形式 = 0011 现在将 3 的 1 的补码加 1 = 1100 将 1 的补码加 1 = 1100 +1 3 的 2 的补码 = 1101 注意 2 的按位补码与 -3 的二进制表示相同
示例 2:计算 2 的补码的程序Main.java 输出 ![]() 下一主题Java 中的 8 拼图问题 |
Java 编程语言于 20 世纪 90 年代初由 Sun Microsystem 开发。Java 是一种面向对象、简单、高效、健壮的通用编程语言。它主要用于基于 Web 的企业应用程序。最初它被设计用于在不同平台上运行的嵌入式网络应用程序。当我们...
阅读 3 分钟
鸭子数是另一种特殊的正非零数,其中包含零。数字零不应出现在数字的开头。零可以出现在除开头以外的任何位置。让我们通过一些鸭子数的例子来理解……
阅读 3 分钟
问题陈述:给定两个整数 n 和 k。该问题生成一个序列,其中每个 Sn 都基于之前的字符串递归形成。转换遵循以下模式:S1 = "0" Sn = Sn−1 + "1" + reverse(invert(Sn−1)) 其中:Reverse:颠倒字符顺序。Invert:将 '0' 更改为 '1'...
阅读 3 分钟
在软件开发的世界里,高效地管理任务和编排工作流程对于任何应用程序的成功都至关重要。开发人员面临的一个常见挑战是在特定时间间隔安排和执行作业。在本节中,我们将探讨一个作业的设计和实现...
阅读 6 分钟
在 Java 中,递增和递减运算符是一元运算符。它们分别用于将变量的值增加或减少 1。递增运算符由一对加号(++)表示,递减运算符由...
阅读 6 分钟
在 Java 中,交换或替换对象可以通过将一个对象的值赋给另一个对象并反之来实现。可以通过使用临时变量来保存一个对象的值,同时将其与另一个对象的值交换来实现...
5 分钟阅读
火星探测器问题是一个经典的编程挑战,它考验一个人设计算法在矩形网格上导航探测器的能力。目标是根据一组命令来操纵探测器,避开障碍物并保持在边界内...
阅读 6 分钟
关联数组将元素存储为 (键, 值) 对。它是一个唯一键的集合,每个键都与一个特定的值相关联。它也称为映射,是一种抽象数据类型,其中每个键在集合中最多出现一次。在 Java 中,...
阅读 3 分钟
Java 程序可以使用简单的文本编辑器编写。但是,使用 Java 集成开发环境 (IDE) 可以帮助开发人员更有效地开发软件。IDE 提供了许多功能,如自动完成、调试器选项等。在本节中,我们将讨论一些广泛使用的 Java...
阅读 3 分钟
超级素数是素数序列中占据素数位置的素数。例如,在列表 {2, 3, 5, 7, 11} 中,第二个素数 (3) 和第三个素数 (5) 是超级素数。识别超级素数涉及两者...
阅读9分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India