浏览 2319 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-29
最后修改:2011-05-10
Java 中Integer是int的派生类型,内置了一些常用的对int类型数据的处理方法 1, String toBinaryString(int i) 给定一个int类型数据,返回这个数据的二进制字符串。 int x=1; int y=2; int z=3; System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x)); System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y)); System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z)); 运行结果为: 1的二进制表示为:1 2的二进制表示为:10 3的二进制表示为:11
2,int bitCount(int i) 给定一个int类型数据,返回这个数据的二进制串中“1”的总数量。
示例: int x=1; int y=2; int z=3; System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x)+" bitCount方法返回值为:"+Integer.bitCount(x)); System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y)+" bitCount方法返回值为:"+Integer.bitCount(y)); System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z)+" bitCount方法返回值为:"+Integer.bitCount(z)); 运行结果为: 1的二进制表示为:1 bitCount方法返回值为:1 2的二进制表示为:10 bitCount方法返回值为:1 3的二进制表示为:11 bitCount方法返回值为:2
3,int numberOfLeadingZeros(int i) 给定一个int类型数据,返回这个数据的二进制串中从最左边算起连续的“0”的总数量。因为int类型的数据长度为32所以高位不足的地方会以“0”填充。
示例: int x=1; int y=2; int z=5; System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x)+"最左边开始数起连续的0的个数为:"+Integer.numberOfLeadingZeros(x)); System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y)+"最左边开始数起连续的0的个数为:"+Integer.numberOfLeadingZeros(y)); System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z)+"最左边开始数起连续的0的个数为:"+Integer.numberOfLeadingZeros(z)); 运行结果为: 1的二进制表示为:1最左边开始数起连续的0的个数为:31 2的二进制表示为:10最左边开始数起连续的0的个数为:30 5的二进制表示为:101最左边开始数起连续的0的个数为:29 4,int numberOfTrailingZeros(int i) 给定一个int类型数据,返回这个数据的二进制串中从最右边算起连续的“0”的总数量。因为int类型的数据长度为32所以高位不足的地方会以“0”填充。
int x=1; int y=2; int z=5; System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x)+"最右边开始数起连续的0的个数为:"+Integer.numberOfTrailingZeros(x)); System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y)+"最右边开始数起连续的0的个数为:"+Integer.numberOfTrailingZeros(y)); System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z)+"最右边开始数起连续的0的个数为:"+Integer.numberOfTrailingZeros(z));
运行结果为: 1的二进制表示为:1最右边开始数起连续的0的个数为:0 2的二进制表示为:10最右边开始数起连续的0的个数为:1 5的二进制表示为:101最右边开始数起连续的0的个数为:0
5,Integer decode(String nm) 给定一个10进制,8进制,16进制中任何一种进制的字符串,该方法可以将传入的字符串转化为10进制数字的Integer类型并返回。
示例: String a="010";//八进制 String b="10";//十进制 String c="0X10";//十六进制 System.out.println("8进制数据"+a+" 解析结果为:"+Integer.decode(a)); System.out.println("10进制数据"+b+" 解析结果为:"+Integer.decode(b)); System.out.println("16进制数据"+c+" 解析结果为:"+Integer.decode(c)); 运行结果为: 8进制数据010 解析结果为:8 10进制数据10 解析结果为:10 16进制数据0X10 解析结果为:16
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-04-29
自己先抢个宝座哈哈
|
|
返回顶楼 | |