当前位置: 首页 > 面试题库 >

如何在多头的特定位置设置/取消设置位?

邓丰
2023-03-14
问题内容

如何在Java中的long的特定位置设置/取消设置位?

例如,

long l = 0b001100L ; // bit representation

我想在位置2设置位,在位置3取消设置位,因此相应的long将是,

long l = 0b001010L ; // bit representation

有人可以帮我怎么做吗?


问题答案:

要设置一点,请使用:

x |= 0b1; // set LSB bit
x |= 0b10; // set 2nd bit from LSB

擦除一下使用:

x &= ~0b1; // unset LSB bit (if set)
x &= ~0b10; // unset 2nd bit from LSB

切换一下用途:

x ^= 0b1;

请注意,我使用0b?。您也可以使用任何整数,例如:

x |= 4; // sets 3rd bit
x |= 0x4; // sets 3rd bit
x |= 0x10; // sets 9th bit

但是,这使得更难知道正在更改哪个位。

使用二进制可让您查看将要设置/擦除/切换的确切位。

要动态设置位,请使用:

x |= (1 << y); // set the yth bit from the LSB

(1 << y) 将… 001 y个位左移,因此您可以将设置的y个位移动。

您还可以一次设置多个位:

x |= (1 << y) | (1 << z); // set the yth and zth bit from the LSB

或取消设置:

x &= ~((1 << y) | (1 << z)); // unset yth and zth bit

或切换:

x ^= (1 << y) | (1 << z); // toggle yth and zth bit


 类似资料:
  • 问题内容: 我想让消息出现 屏幕上的任何位置。 相对于JFrame。(不在JFrame的中心) 例如,这将在作为参数提供的JFrame的中心显示消息 并且这将在屏幕中央显示该消息,而与任何JFrame无关。 我想要的是将消息的位置设置为我想要的任何位置 我想要的是设置消息相对于JFrame的位置(而不是JFrame的中心) 怎么样? 问题答案:

  • 问题内容: 如何使用jQuery设置和取消设置Cookie,例如创建一个名为的Cookie 并将其值设置为? 问题答案: 2019年4月更新 Cookie的读取/操作不需要jQuery,因此请不要使用下面的原始答案。 转到https://github.com/js-cookie/js-cookie,然后在其中使用不依赖jQuery的库。 基本示例: 有关详细信息,请参见github上的文档。 参见

  • 我在 netbeans 的 GUI 设计器中设计了一个 GV 框架,它有 1 个文本区域、2 个文本框和 1 个 jButtons,它们位于框架的右侧。现在我想在这些组件左侧的 GV 框架中添加一个自定义 JPanel。像这样: http://s25.postimg.org/3lggsdusf/Othe.png 主网格面板(直接构建在班级内部 可以看出,我试图通过 GUI 编辑器通过自动生成的 i

  • 问题内容: 我能够使用puppeteer成功下载文件,但只是将其保存到我的/ Downloads文件夹中。我一直到处逛逛,在api或论坛中找不到任何设置此位置的信息。 我的下载基本上只是转到链接: 问题答案: 这样可以在最新的puppeteer v0.13中设置下载路径。 该行为是实验性的,可能会在以后删除,修改或更改。 请注意,您可以自行尝试尝试此处列出的更多技巧:)。

  • 问题内容: 我正在用Java做一些Swing GUI,我想我的问题很简单。如何设置鼠标的位置? 问题答案: 您需要使用机器人 此类用于生成本机系统输入事件,用于测试自动化,自运行演示以及需要控制鼠标和键盘的其他应用程序。Robot的主要目的是促进Java平台实现的自动化测试。 使用类生成输入事件与将事件发布到AWT事件队列或AWT组件不同,因为事件是在平台的本机输入队列中生成的。例如,实际上将移动

  • Meta:- IOS仿真器设备v10.3 Appium java-client V5.0.0 beta8 硒v3.4.0 实际上,我试图在设备中使用自动化设置。我尝试了以下代码,它在设备上运行良好,而在上抛出异常: 例外情况: WebDriverException:方法尚未实现(警告:服务器未提供任何stacktrace信息) 当我尝试使用JavascriptExecutor作为: Unsuppo