大数进制转换

大数进制转换

算法思想:浅谈大数的进制转换

代码:

#include <stdio.h>
#include <string.h>
int main() {
    char m[32];
    int len;
    while (scanf("%s", &m) != EOF) {
        len = strlen(m);  //记录输入长度
        int sum = 1, size = 0;
        char n[100]; //用来存储二进制数
        while (sum) {
            sum = 0; //判断循环跳出条件
            //逐位除以2
            for (int i = 0; i < len; i++) {
                int x = m[i] - '0';
                int d = x / 2;
                sum += d;
                if (i < len - 1) {
                    m[i + 1] = x % 2 * 10 + m[i + 1];
                }
                if (i == len - 1) {
                    n[size++] = x % 2 + '0';
                }
                m[i] = d + '0';
            }

        }
        for (int i = size - 1; i >= 0; i--) {
            printf("%c", n[i]);
        }
        printf("\n");
    }
    return 0;
}

原文链接: https://www.cnblogs.com/maeryouyou/p/12944998.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    大数进制转换

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/350402

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午6:18
下一篇 2023年3月2日 上午6:18

相关推荐