#include<stdio.h>
int get_bin(int num,int w){
return(num&1<<w?1:0);
}
/*传入需要转换的整数num和要改变的位w*/
void show_bin(int num){
int i;
for(i=31;i>=0;i--)
printf("%d",get_bin(num,i));
printf("/n");
}
/*传入num 调用 get_bit转换并输出 */
void left(int num,int k){
num=num<<k;
show_bit(num);
}
/*左移k位 show_bin*/
void right(int num,int k){
num=num>>k;
show_bit(num);
}
/*右移k位并输出*/
void change(int *num,int k){
num=num&~(1<<k-1);
show_bin(num);
}
/*传入num 把第k位置0*/
int main(int argc,int *argv[]){
int num=atoi(argv[1]);
show_bin(num);
left(num,atoi(argv[2]));
right(num,atoi(argv[3]));
change(&num,atoi(argv[4]));
}
/*
编译 :gcc -o binary binary.c
执行 :./binary 15 5 3 5
输入15 左移5位 右移3位 把第五位置0
学习中,老师一个周讲完C
main函数的参数argc是做什么用的?试着删掉会编译错误。。。
*/