Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将整数转换为二进制表示形式,并根据需要附加一定数量的位_Java_Binary_Int_Bits - Fatal编程技术网

Java 如何将整数转换为二进制表示形式,并根据需要附加一定数量的位

Java 如何将整数转换为二进制表示形式,并根据需要附加一定数量的位,java,binary,int,bits,Java,Binary,Int,Bits,我知道Integer.toBinaryString(inti),但我想决定如何做是根据需要在它的末尾附加一定数量的位(0) 示例:我有一个整数3,它由11表示为二进制,但我希望它总共有7位(位),这样它将得到二进制值的长度(在本例中为2位),然后在开始处加上5个0,这样您将以0000011结束,总共7位 试试看 String output= String.format("%"+numberOfZerosToPut+"s", Integer.toBinarySt

我知道Integer.toBinaryString(inti),但我想决定如何做是
根据需要在它的末尾附加一定数量的位(0)

示例:我有一个
整数3
,它由
11表示为二进制
,但我希望它总共有7位(位),这样它将得到二进制值的长度(在本例中为2位),然后在开始处加上5个0,这样您将以
0000011
结束,总共
7位

试试看

String output= String.format("%"+numberOfZerosToPut+"s",
                  Integer.toBinaryString(3)).replace(' ', '0');

System.out.println(output);

创建如下方法:

public static String appendZeroes(String bits) {
        int rem = bits.length()%8;
        if(rem == 0)
            return bits;
        else
        {
            int appendingZeroes = 8-rem;
            String s = "";
            for(int i=0;i<appendingZeroes;i++)
                s+="0";
            s=s+bits;
            return s;
        }
    }
公共静态字符串附录零(字符串位){
int rem=位。长度()%8;
如果(rem==0)
返回位;
其他的
{
int-appendingZeroes=8-rem;
字符串s=“”;

对于(int i=0;ii如果将其视为字符串,请使用循环连接
“0”
s到它的前面。如果您将此视为
int
,则无需进行任何类型的操作;不管怎样,值都将保持0x03。您可以查看此-,它看起来很相似,非常有魅力,谢谢!!此外,对于那些阅读本文时遇到类似问题(我使用的示例除外)的人,您可以将代码更改为字符串输出=String.format(“%”+numberOfZerosToPut+“s”,Integer.tobinarysting(3)).replace(“”,“0”);它只需在二进制值的前面加上所需的0数。但这将适用于只能使用8位形成的有限值。@nishu,是的,它将适用于7位,正如OP在他的问题中提到的7位。@nishu我用只需要4位(整数值9)的东西测试了它但我告诉它我总共需要9个比特,它工作得很好。如果没有已知的比特,那就好了。