当前位置: 首页 > news >正文

(算法)大数的进制转换

题目描述

将一个长度最多为30位数字的十进制非负整数转换为二进制数输出输入描述:
多组数据,每行为一个长度不超过30位的十进制非负整数。
(注意是10进制数字的个数可能有30个,而非30bits的整数)

解析

例子 :123,设二进制数组为w[]

  • w[i++]:123//2=?..1

  • ? 作为下一个的除数: 1//2=0…1(余1加10)
    (10+2)//2=6…0(余0加0)
    (0+3)//2=1…1(余1,此处的1就是上一条的1)
    得到?为 ()61

  • 将61填入重复上述过程

代码

#include <stdio.h>
#include <string.h>char s[35];
char buf[205];//结果int main(){int num[35];while(scanf("%s",s)!=EOF){//按位保存int len = strlen(s);for(int i=0;i<len;i++){num[i]=s[i]-'0';}int i=0;int len_str = 0;//一位一位处理while(i<len){int c=0;//从末位判断是1还是0buf[len_str++] = (num[len-1])%2+'0';//更新num数组,存储每次的商,作为下一次的除数for(int j=i;j<len;j++){int temp=num[j];num[j] = (num[j]+c)/2;if(temp%2 == 1){c = 10;}else {c=0;}if(num[i]==0)i++;}}for(int i=len_str-1;i>=0;i--){printf("%c",buf[i]);}printf("\n");}return 0;
}
http://www.lryc.cn/news/443977.html

相关文章:

  • 演示jvm锁存在的问题
  • Android SharedPreference详解
  • 论文阅读 | 可证安全隐写(网络空间安全科学学报 2023)
  • Arthas jvm(查看当前JVM的信息)
  • 【c++】介绍
  • JavaScript typeof与instanceof的区别
  • C++11 可变的模板参数
  • 手机在网状态查询接口如何用PHP进行调用?
  • MATLAB中多张fig图合并为一个图
  • Java启动Tomcat: Can‘t load IA 32-bit .dll on a AMD 64-bit platform报错问题解决
  • 基于微信小程序的家教信息管理系统的设计与实现(论文+源码)_kaic
  • 【Android】BottomSheet基本用法总结(BottomSheetDialog,BottomSheetDialogFragment)
  • Linux下实现ls命令的功能
  • 【中国留学网-注册_登录安全分析报告】
  • jvm中的程序计数器、虚拟机栈和本地方法栈
  • 安卓数据存储——SharedPreferences
  • 【计算机网络篇】数据链路层 功能|组帧|流量控制与可靠传输机制
  • Apache CVE-2021-41773漏洞复现
  • 带线无人机现身俄罗斯抗干扰技术详解
  • ArcGIS10.2/10.6安装包下载与安装(附详细安装步骤)
  • 生信服务器 | 组蛋白甲基化修饰、DNA亲和纯化测序、优青博导团队指导设计、解读实验结果。
  • 【machine learning-14-特征缩放-归一化】
  • 二叉树堆的建立与排序
  • 【软件测试】Bug 篇
  • oracle 多表查询
  • layui 可以使点击图片放大
  • 制作网上3D展馆需要什么技术并投入多少费用?
  • C++标准库容器类——string类
  • Qt --- 常用控件的介绍 --- 其他控件
  • spark读取数据性能提升