首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

关于Integer.toBinaryString(int i)的有关问题

2012-05-05 
关于Integer.toBinaryString(int i)的问题今天想把一个IP中的每个数都转化成二进制表示:结果 Integer.toBi

关于Integer.toBinaryString(int i)的问题
今天想把一个IP中的每个数都转化成二进制表示:

结果 Integer.toBinaryString(0) //0:举个例子 (或者其他比较小的数) 输出之后位数都不足8位,这个就是输出“0”,所以就想了个办法:

String toBinary = Integer.toBinaryString(m) //假设m是我ip中的一段转化为int的数值
if(toBinary.length()<8){  
  for(int i=0;i<8-toBinary.length();i++)
  toBinary = "0"+toBinary; //在不足的位数前都加“0”
}

结果应该是 00000000 (或者其他八位)吧,但是实际结果是总是只有5位 ,求高手解答这是为什么???

[解决办法]

Java code
String toBinary = Integer.toBinaryString(0); // 假设m是我ip中的一段转化为int的数值        int length = toBinary.length();        if(toBinary.length()<8){             for(int i=0;i<8-length;i++)          toBinary = "0"+toBinary; // 在不足的位数前都加“0”          System.out.println(toBinary);        }
[解决办法]
toBinary.length()会增加的 你在程序中打印他的值和i的值就明白了。
Java code
String toBinary = Integer.toBinaryString(m);// 假设m是我ip中的一段转化为int的数值       while(toBinary.length() < 8){        toBinary = "0" + toBinary; // 在不足的位数前都加“0”       } 

热点排行