gpt4 book ai didi

Java,位 vector

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:39:15 25 4
gpt4 key购买 nike

我必须编写一个简单的方法,它接受一个索引并将该索引处的“位”从 0 切换到 1。我在为此编写按位运算符时遇到问题。我知道这很简单,但我做不到。下面是该方法的样子。提前致谢!

/** 
* 32-bit data initialized to all zeros. Here is what you will be using to represent
* the Bit Vector.
*/

private int bits;

/** You may not add any more fields to this class other than the given one. */

/**
* Sets the bit (sets to 1) pointed to by index.
* @param index index of which bit to set.
* 0 for the least significant bit (right most bit).
* 31 for the most significant bit.
*/
public void set(int index)
{
//It is here where I can not figure it out. Thank you!
System.out.println(~bits);
System.out.println("setting bit: " + bits + " to: " + index);
}

最佳答案

你应该使用一个BitSet。如果你想自己做,你可以说:

public void set(int index) { 
bits |= (1 << index);
}

如果这是家庭作业,并且上面的代码看起来很神奇,那么您确实需要阅读按位运算符。

这段代码可以解释为:

  • 从数字 1 开始,将其所有位移动 index 次。
  • 设置bits的值等于bits的值OR与上一步的值

关于Java,位 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14392932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com