- int main(int argc, const char * argv[]) {
- // 定义变量存储用户输入的值
- int a;
- printf("请输入一个整数:\n");
- scanf("%d",&a);
-
- int len = sizeof(int)*8;
- // for循环让每一位和1进行与,取得每一位打印出来
- if (a >= 0) {
- // 如果输入的是正数
- printf("%d的二进制数为:",a);
- for (int i=0; i<=len-1; i++) {
- if (i%8 == 0) {
- printf(" ");
- }
-
- printf("%d",(a>>(len-1-i)) & 1);
-
- }
- // 如果输入的是负数
- }else{
- a = 0-a;
- printf("%d的二进制数为:",a);
- for (int i=0; i<=len-1; i++) {
- if (i%8 == 0) {
- printf(" ");
- }
- if (i == 0) {
- printf("1");
- continue;
- }
-
- printf("%d",(a>>(len-1-i)) & 1);
- }
- }
- return 0;
- }
复制代码 |
|