码迷,mamicode.com
首页 > 其他好文 > 详细

二进制计算程序

时间:2015-12-20 22:38:07      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

// 1.奇数的最后一位是1,而偶数的最后一位是0, 如5/2得2,所以下一位是0,若是得出奇数则下一位是1,如果是6的话就是r = 6%2 >0 ,6大于等于2 >6/2 >3 ,>r = 3%2 >1 ,最后一位和所有的都等于n%2 所以用到递归,r就是最后的值等于n%2 ,下一位被除数等于n/2.

// 2. 无符号是用 unsiged 表示 ,%lu,程序中用到 unsiged long  无符号长整型,return 0 结束程序

//?? 待解决问题,while (scanf("%lu",&number) == 1) 暂时理解为条件为真

#include <stdio.h>

//函数的声明

void to_binary(unsigned long number);

int main (void){

    printf("Enter an integer(q to quit):\n");

    unsigned long number;

    while ((scanf("%lu",&number) == 1)) {

        printf("Binary equivalent:\n");

        to_binary(number);

        putchar(\n);

        printf("Enter an integer (q to quit):\n");

    }

    printf("%lu\n",number);

    printf("input Done.\n");

    return 0;

}

//函数的实现

void to_binary (unsigned long n){

    

    int r;

    r = n%2;

    if (n) {

        to_binary(n/2);

        putchar(r?1:0);

        return;

    }

}

 

二进制计算程序

标签:

原文地址:http://www.cnblogs.com/TheYouth/p/5061975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!