题目描述:

我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 10 为底数的幂之和的形式。例如 123 可表示为1×102+2×101+3×1001\times 10^2 + 2\times10^1 + 3\times10^01×102+2×101+3×100这样的形式。

与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 2 为底数的幂之和的形式。

一般说来,任何一个正整数 R 或一个负整数 −R 都可以被选来作为一个数制系统的基数。如果是以 R 或 −R 为基数,则需要用到的数码为 0,1,…R-1。

例如当 R=7 时,所需用到的数码是: 0,1,2,3,4,5,6,这与其是 R 或 −R 无关。如果作为基数的数绝对值超过 10,则为了表示这些数码,通常使用英文字母来表示那些大于 9 的数码。例如对 16 进制数来说,用 A 表示 10,用 B 表示 11,用 C 表示 12,以此类推。

在负进制数中是用 -R 作为基数,例如 -15(十进制)相当于 110001 (−2进制),并且它可以被表示为 2 的幂级数的和数:

110001=1×(−2)5+1×(−2)4+0×(−2)3+0×(−2)2+0×(−2)1+1×(−2)0110001=1\times (-2)^5 + 1\times (-2)^4 + 0\times (-2)^3 + 0\times (-2)^2 + 0\times (-2)^1 + 1\times (-2)^0110001=1×(−2)5+1×(−2)4+0×(−2)3+0×(−2)2+0×(−2)1+1×(−2)0

设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数。

输入

输入的每行有两个输入数据。

第一个是十进制数 n。 第二个是负进制数的基数 -R。

输出

输出此负进制数及其基数,若此基数超过 1010,则参照 1616 进制的方式处理。

输入样例

#1 30000 -2
#2 -20000 -2
#3 28800 -16
#4 -25000 -16

输出样例

#1 30000=11011010101110000(base-2)
#2 -20000=1111011000100000(base-2)
#3 28800=19180(base-16)
#4 -25000=7FB8(base-16)

数据范围

Code

#include<bits/stdc++.h>
int ans[100]= {0},node;
using namespace std;
int main() {int n,r;cin>>n>>r;int b=n;node=1;while(abs(b)!=0) {ans[node]=(abs(r)+b%r)%abs(r);b-=ans[node];b/=r;node++;}cout<<n<<"=";for(int i=node-1; i>=1; i--) {if(ans[i]>=10)printf("%c",'A'-10+ans[i]);else cout<<ans[i];}printf("(base%d)",r);return 0;
}

[SSL_CHX][2022-02-23]进制转换相关推荐

  1. 2022.5.25 进制转换

    一.基本了解: 1.二进制(在计算机底层运算使用的进制): 在二进制里,只有0和1两个数字.但用二进制表示数字会让数字过长,因此为了方便表示的需要,通常会把二进制数转换为八进制或十六进制表示. 2.八 ...

  2. 【EOJ Monthly 2019.02 - D】进制转换(思维,取模,高精度大数)

    题干: 单测试点时限: 2.0 秒 内存限制: 256 MB "他觉得一个人奋斗更轻松自在.跟没有干劲的人在一起厮混,只会徒增压力." QQ 小方决定一个人研究研究进制转换. 很快 ...

  3. Linux C基础02——进制转换和c语言简单介绍

    一,进制转换 其他进制转换到二进制: 10->2:除二取余 逆取法!小数部分乘积(2)取整,顺写法! 16->2: 一位转四位 0x放在首位,表示16进制,0x2F: 8->2: 一 ...

  4. 计算机教育的进制转换,计算机数制及编码进制转换公开课教学教育资料.doc

    计算机数制及编码进制转换公开课教学教育资料.doc 数制与编码进制转换[学情分析]本课内容是在学生已经学习了计算机发展与应用.计算机系统的组成等知识的基础上进行,已经初步知道了人与计算机进行信息交换通 ...

  5. 植物大战僵尸 进制转换 使用JAVA 更改关卡 和金钱

    文章目录 前言 一.进制转换 将二进制.八进制.十六进制转换为十进制 将二进制.八进制.十六进制转换为十进制 二.获取数据修改关卡 小技巧进制转换 三.获取数据修改阳光 四.通过编码修改关卡和金钱 修 ...

  6. 【C语言】变量和常量、数据类型、进制转换、数据存储

    目录 1. 变量 1.1 变量的分类 1.1.1 局部变量 1.1.2 全局变量 1.2 变量的使用 1.3 变量的作用域和生命周期 1.3.1 作用域 1.3.2 生命周期 2. 常量 2.1 字面 ...

  7. HTML5进制转换,进制转换

    我们知道十进制转换成二进制用短除法,但是为什么用短除法呢?请往下看. "数制"只是一套符号系统来表示指称"量"的多少.我们用"1"这个符号来 ...

  8. C1任务1:进制转换 学习与技巧总结

    系列文章目录 C1 任务-01:进制转换 C1 任务-02:信息单位 C1 任务-03:数据校验 C1 任务-04:多媒体基础参数 C1 任务-05:HTTP 文章目录 系列文章目录 前言 一.进制定 ...

  9. 讲清楚进制转换、进制计算那些事 —— 二进制转换十进制、十六进制

    讲清楚进制转换.进制计算那些事 信息在计算机中的表示 1.易于物理实现 2.可靠性高 3.运算规则简单 数制及其不同进制之间的转换 1.常用进制数及其对应关系 表 1-2 常见进制数所使用的基本符号 ...

  10. 15从零开始学Java之详解计算机中的进制转换

    作者:孙玉昌,昵称[一一哥],另外[壹壹哥]也是我哦 CSDN博客专家.万粉博主.阿里云专家博主.掘金优质作者 配套项目资料 https://github.com/SunLtd/LearnJava h ...

最新文章

  1. 如何启用计算机超级账户,win7如何启用超级管理员账户 win7启用超级管理员账户方法介绍...
  2. 玩转springboot:thymeleaf模板引擎入门程序
  3. javascript面向对象编程实现[定义(静态)属性方法--继承]
  4. webstorm apache设置 很方便啦
  5. hiveserver2详解
  6. ROS机器人操作系统Windows10离线安装包
  7. 4G网络起源及发展历程
  8. php处理头像,(头像处理)PHP把图片转换成圆形png
  9. ObsidianFolderSync 创作格外丝滑
  10. 斯芬克怎么样 谁说我没有担心
  11. VVC/VTM:代码学习——量化实现之RDOQ
  12. 如何设置一个可扩展的MongoDB数据库?
  13. 新IT引领新经济 新华三惠州云博会展现“云”魅力
  14. 手工去除酷我音乐盒广告
  15. Java-TCP通信(实现多发多收、群聊功能),BS通信源码
  16. 毕业相关——电网项目
  17. 王者的荣耀--Monza后记
  18. 如何查看电脑是什么时候购买的
  19. 快速上手CH340N电路设计(CH340N USB转串口模块 USB Type-C接口 CH340系列芯片讲解)
  20. 如何激励你的内容团队产出更好的创意

热门文章

  1. TCP的快速重传机制
  2. 自建speedtest测速服务器教程,Linux/Windows/群晖
  3. ibm tivoli_使用Tivoli Access Manager的多租户云解决方案中的访问控制最佳实践
  4. 【Python实例学习】用Python的xlsxwriter模块,进行Excel表格插入图标的操作
  5. ROS智能车定位导航仿真(已实现)
  6. ORACLE ERP consolidation流程(二)
  7. Google Guava与字符串操作相关的类
  8. html平行四边形标签,平行四边形
  9. 虎牙不想做一家游戏直播公司
  10. 从零开始用人工智能预测股票(二、数据加工)