import java.util.Scanner;
public class test5{
public static void printNum(int n) {
for (int i = 31; i >= 1 ; i -= 2) {
System.out.print(((n >> i)&1) + " ");
}
System.out.println();
System.out.println("===========");
for (int i = 30; i >= 0 ; i -= 2) {
System.out.print(((n >> i)&1)+" ");
}
}
//使用位运算求两个数的平均值
public static int ave(int a,int b){
return (a&b)+(a^b)>>1;
}
//写一个函数返回参数二进制中 1 的个数
public static int func2(int num){
int count = 0;
while(num != 0){
num = num & (num-1);
count++;
}
return count;
}
//3.输密码小程序
public static void func1(){
Scanner scan = new Scanner(System.in);
int count = 3;
while(count != 0){
System.out.println("请输入你的密码:");
String password = scan.nextLine();
if("123456".equals(password)){
System.out.println("输入正确!");
break;
}else{
System.out.println("输入错误!");
count--;
}
}
}
//2.求出0~999999之间的所有“水仙花数”并输出
public static void waterFlower(int num){
for(int i = 0;i <= num;++i){
//求位数
int count = 0;//位数
int tmp = i;
while(tmp != 0){
count++;
tmp = tmp / 10;
}
//count里面保存的就是当前i的位数
tmp = i;
//求tmp的每一个位上的数字
//123 123%10=3 123/10 %10=2
//12/10%10=1 1/10=0
int sum = 0;//次方的和
while (tmp != 0) {
sum += Math.pow(tmp%10,count);
tmp = tmp/10;
}
if(sum == i){
System.out.println(i);
}
}
}
//1.编写程序数一下 1到 100 的所有整数中出现多少个数字9
public static int func(int num){
int count = 0;
for(int i = 1;i <= num;++i){
if(i%10==9){
count ++;
}
if(i/10==9){
count ++;
}
}
return count;
}
public static void main(String[] args){
printNum(6);
//System.out.println(ave(4,3));
//System.out.println(func2(5));
//func1();
//waterFlower(999999);
//System.out.println(func(100));
}
}