屏幕上输入一个数,实现使用其低四位翻转,即0变1,1变0,并输出得到的结果。
- #include <stdio.h>
- void changeDi4Wei(int num ){
- // 利用sizeof计算出int类型的字节数
- int len=sizeof (int)*8;
- int temp,i ;
- // 1.定义第一个循环,原样输出二进制中前(len-4)位的二进制0-1数值
- for ( i=0; i<len-4; i++) {
- // 每次都在原数的基础上进行移位运算
- temp = num;
- // 使用按位右移运算从二进制数的最高位开始输出
- temp = temp>>(len-1-i);
- // 得到最后最后一位
- int t=temp&1;
- printf("%d",t );
- // 每四位输出一个空格
- if(i!=0&&(i+1)%4==0)
- printf(" ");
-
- }
- // 定义第二个函数,翻转输出二进制中低4位的二进制0-1数值
- for ( int j=i ; j<len; j++) {
- // 同第一个循环
- temp=num;
- // 同第一个循环
- temp=temp>>( 31-j);
- // 利用逻辑非,翻转输出后四位二进制数中0-1数值
- int t=!(temp&1);
-
-
-
- printf("%d",t );
- }
- printf("\n");
- }
- int main(){
- int x;
- printf("请输入一个整数:\n");
- scanf("%d",&x);
- changeDi4Wei(x);
- return 0;
- }
复制代码
|