使用位运算实现有符号的十进制正负数转二进制输出

来源:互联网 发布:java 系统登录界面 编辑:程序博客网 时间:2024/05/22 07:25

使用位运算实现有符号的十进制正负数转二进制,C语言

代码:

#include <stdio.h>//十进制数转二进制void moveBinaryNum(unsigned int x){    int a = x >> 1;    if (a)        moveBinaryNum(a);    if ((x - a) == a)        putchar(0);    else        putchar(1);}main(){    //打印0到10的二进制位数    for (int i = 0; i <10; i++){        moveBinaryNum(i);        puts("");    }    //打印-10到0的二进制位数,有符号    for (int i = 0; i >-10; i--){        moveBinaryNum(i);        puts("");    }}

输出:

011011100101110111100010010111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111101111111111111111111111111111111001111111111111111111111111111101111111111111111111111111111111010111111111111111111111111111110011111111111111111111111111111100011111111111111111111111111110111
0 0
原创粉丝点击