下面来用代码体现:
public class Test{
public static void main(String[] args){
String s=out1(100000);
int result=Integer.valueOf(s,2);
System.out.println("最终得到的十进制结果为:"+result);
}
//传入一个int数,要求清除该数的低8位,高24位不变
public static String out1(int num){
String s1="";
String s2="";
for(int i=31; i>=8;i--){
s1+=num>>i&1;
}
for(int i=7; i>=0;i--){
s2+=num>>i&0;
}
return s1+s2;
}
}
代码解析:
(1):先定义一个方法,传入我们要输入的int数值
(2):在方法中定义两个空字符串s1,s2
(3):对这个int数值的二进制高24位进行循环遍历处理
(4):处理的内容是对这个int数值右移i位再与1进行与处理
使得每一位的值都不发生改变然后就与s1进行字符串
的拼接从而得到原来的高24位。
(5):下面一个for循环是对低八位进行处理,是将int数值
右移i位再与0进行与处理,从而使得无论如何后面八位
的处理结果都位0,再与s2进行字符串的拼接。
(6):将上面处理得到的两个字符串拼接起来就是一个完整的
二进制值了,返回给上面的方法调用,用s接收。
(7):通过Integer类的valueOf(s,当前的进制)方法将二进制值
转化为十进制值,最后输出即可。