maeryouyou

大数进制转换

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

代码:

#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;
}

分类:

技术点:

相关文章:

  • 2021-06-27
  • 2021-05-27
  • 2022-12-23
  • 2021-04-13
  • 2021-07-20
  • 2021-10-08
  • 2021-12-25
  • 2021-10-08
猜你喜欢
  • 2021-11-15
  • 2021-05-03
  • 2021-10-15
  • 2021-04-07
  • 2021-10-12
相关资源
相似解决方案