我需要将正数和负数转换为二进制格式-例如,2转换为“00000010”,-2转换为“11111110”。我不需要超过12位左右,所以如果字符串长于12位,我可以去掉前导符号位。看起来Integer.toBinaryString()会计算正数,但有没有可以计算负数的? 最佳答案 Integer.toBinaryString也适用于负数。:-)例如,Integer.toBinaryString(-2)返回11111111111111111111111111111110。如果您取最右边的12个字符,则根据需要您有低12位。
我正在开发一个项目,该项目将文件中的数据放入字节数组,并将“0”添加到该字节数组,直到字节数组的长度为224位。我能够添加零,但我无法确认有多少个零就足够了。所以我想以二进制格式打印字节数组中的文件数据。谁能帮帮我? 最佳答案 对于每个字节:转换为int(在下一步中通过将byte自动扩展为int)按位与掩码255将除最后8位以外的所有位归零与256按位或将第9位设置为1,使所有值恰好为9位长调用Integer.toBinaryString()生成一个9位字符串调用String#substring(1)以“删除”前导“1”,正好留下8
Integer.toBinaryString(data)给我数组数据的二进制字符串表示形式。但是我想要一种向其添加前导零的简单方法,因为等于零的字节数组会给我一个“0”字符串。我想要这样的单行:StringdataStr=Integer.toBinaryString(data).equals("0")?String.format(format,Integer.toBinaryString(data)):Integer.toBinaryString(data);String.format()是正确的方法吗?如果是,我应该使用什么format字符串?提前致谢!编辑:data数组是动态长度的
我试图将double转换为其二进制表示,但使用此Long.toBinaryString(Double.doubleToRawLongBits(d))没有帮助,因为我有大量数字,Long不能不存储它们,即2^900。 最佳答案 Long.toBinaryString(Double.doubleToRawLongBits(d))似乎工作正常。System.out.println("0:0b"+Long.toBinaryString(Double.doubleToRawLongBits(0D)));System.out.println("
一些我认为很简单的事情最终并没有那么简单。我需要将长数字转换为二进制。例如:Stringb=Integer.toBinaryString(1028);输出为10000000100但是当我使用Integer.toBinaryString(2199023255552);这没用。当然这个数字对于这个函数来说太大了,我找不到一个可以从long转换的。有什么建议吗?谢谢。 最佳答案 添加一个L来表示它是一个long并使用Longclass:Long.toBinaryString(2199023255552L);Java中的常量被视为int,除
一个简单的设计问题。示例代码:Integerint1=newInteger(20);System.out.println(Integer.toBinaryString(int1));为什么JDK的设计不是下面这样的?那么,toBinaryString函数返回所需的结果?System.out.println(int1.toBinaryString());除了静态函数的广泛可用性之外,这种设计方法的其他原因是什么?他们是否使用任何特定的设计模式?如果是,那么是哪种模式? 最佳答案 这是因为你不能有两个同名的方法,一个是静态的,一个是实例
这个问题在这里已经有了答案:Whatarebitwiseshift(bit-shift)operatorsandhowdotheywork?(10个回答)关闭4年前。我正在尝试了解轮类运算符(operator),但没有得到太多。当我尝试执行以下代码时System.out.println(Integer.toBinaryString(2我得到以下内容1000000000000100000000000000000000000100100000000000001000000000000000000000000谁能解释一下? 最佳答案 Sy
这个问题在这里已经有了答案:Whatarebitwiseshift(bit-shift)operatorsandhowdotheywork?(10个回答)关闭4年前。我正在尝试了解轮类运算符(operator),但没有得到太多。当我尝试执行以下代码时System.out.println(Integer.toBinaryString(2我得到以下内容1000000000000100000000000000000000000100100000000000001000000000000000000000000谁能解释一下? 最佳答案 Sy