还是先为大家介绍一下原理吧。

假设余数为 r ,十进制数为 n :(拆分为整数 zs ,余数 ys)

对 zs:需要将 zs 除 r 取余数,直到商为 0 停止,将余数倒序排列即可。

对 ys:需要将  ys乘 r 取整数部分,直到小数部分为 0 停止,将所得整数正序排列。

C++代码:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream>
  4. #include <string>
  5. #include <iomanip>
  6. #include <conio.h>
  7. #include <time.h>
  8. #include <math.h>
  9. #include <memory>
  10. #include <malloc.h>
  11. #include <fstream>
  12. #include <algorithm>
  13. using namespace std;
  14. //10->非10
  15. int main(){
  16. double n,xs;int jz,zs;//xs小数,zs整数
  17. string s="";
  18. cout<<"输入一个十进制数:";
  19. cin>>n;
  20. cout<<"输入你要转化的进制:";
  21. cin>>jz;
  22. //整数部分zs
  23. zs=(int)n;
  24. xs=n-zs;
  25. while(zs!=){
  26. s+=zs%jz>=?(zs%jz-)+'A':(zs%jz)+'';
  27. zs/=jz;
  28. }
  29. reverse(s.begin(),s.end());//将串s反序
  30.  
  31. if(xs!=){
  32. if((int)n==)
  33. s=s+"0.";
  34. else
  35. s=s+'.';
  36. //小数部分,取8位数即可
  37. for(int i=;i<;i++){
  38. xs*=jz;
  39. s+=int(xs)>=?(int(xs)-)+'A':int(xs)+'';
  40. xs=xs-int(xs);
  41. }
  42. }
  43. cout<<s<<endl;
  44. system("pause");
  45. return ;
  46. }

运行结果如下:

此文章为原创,转载需说明出处。

十进制转化为非十进制C++代码的更多相关文章

  1. Java查表法实现十进制转化成其它进制

    首先了解十进制转化成二级制的原理 156的二进制为: 156 % 2 = 78 …… 0 83 % 2 = 39 …… 0 39 % 2 = 19 …… 1 19 % 2 = 9 …… 1 9 % 2 ...

  2. 关于java中为什么尽量把受检异常转化为非受检异常

    首先理解一下受检异常与非受检异常: 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机操作中可能遇到的异常,是一种常见的运行错误,只要程序设计的没有问题通常就不会发生.受检异常与程序的上 ...

  3. S - Making the Grade POJ - 3666 结论 将严格递减转化成非严格的

    S - Making the Grade POJ - 3666 这个题目要求把一个给定的序列变成递增或者递减序列的最小代价. 这个是一个dp,对于这个dp的定义我觉得不是很好想,如果第一次碰到的话. ...

  4. 十进制转化为二进制Java实现

    提取2的幂 这个方法用代码实现貌似有点麻烦,需要探测大小,我只实现了整数十进制到二进制的转化 /* * 提取2的幂 */ public static String TenToBin1(int ten) ...

  5. 十进制转换为K进制 Java 代码

    最近在读<计算机科学导论--跨学科方法>(机械工业出版社),习题索引:1.3.21: 编写一个新程序Kary,输入两个命令行参数i和k,并将i转换为基数k的数值表示.假设i是java中的l ...

  6. bignumber.js是一款用于任意精度十进制和非十进制算术的JavaScript库

    安装 npm install bignumber.js 引入 import { BigNumber } from 'bignumber.js' 实例方法 加法:plus 0.1 + 0.2 // 0. ...

  7. 用JS实现将十进制转化为二进制

  8. hdu5432Rikka with Array (数位dp+十进制转化为二进制)

    Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...

  9. struts2:字段校验和非字段校验代码示例

    一.为什么要使用struts2的validate验证框架 :使用struts2的验证框架,能够提高客户端提交的数据的安全性.通过验证,确保保存进数据库的信息是正确的 二.使用struts2的valid ...

随机推荐

  1. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(6.1)- FlexSPI NOR连接方式大全(RT600)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT600的FlexSPI NOR启动的连接方式. 痞子衡前段时间一鼓作气写完了三篇关于i.MXRT1xxx系列Flex ...

  2. 【Java必修课】判断String是否包含子串的四种方法及性能对比

    1 简介 判断一个字符串是否包含某个特定子串是常见的场景,比如判断一篇文章是否包含敏感词汇.判断日志是否有ERROR信息等.本文将介绍四种方法并进行性能测试. 2 四种方法 2.1 JDK原生方法St ...

  3. springcloud gateway整合sentinel

    1.引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  4. 微信SEO怎么做-最新微信SEO干货

    星辉信息科技进行微信SEO已经很多年了,结合多年的微信SEO经验通过浅谈微信SEO.微信SEO的3大优势.微信SEO的6个排名技巧.企业和个人微信SEO的4大优化战略来讲,可以完美解决B端C端微信获客 ...

  5. 第一篇博客 C+++知识点总结一

    1.成员 1.比较特殊的成员类型:protected. 保护成员在本类中和private类型的成员作用一模一样.区别在于保护成员可以由本类的派生类的成员函数访问,但是私有成员在其派生类中无法访问. 2 ...

  6. Fabric 源码学习:如何实现批量管理远程服务器?

    前不久,我写了一篇<Fabric教程>,简单来说,它是一个用 Python 开发的轻量级的远程系统管理工具,在远程登录服务器.执行 Shell 命令.批量管理服务器.远程部署等场景中,十分 ...

  7. 《JavaScript 模式》读书笔记(2)— 基本技巧2

    前一篇,简单介绍了一些js代码的基本技巧.那么这篇文章,我们继续后续的内容. 一.for循环 for循环经常用在遍历数组或者类数组对象,如引数(arguments)和HTML容器(HTMLCollti ...

  8. React利用Antd的Form组件实现表单功能(转载)

    一.构造组件 1.表单一定会包含表单域,表单域可以是输入控件,标准表单域,标签,下拉菜单,文本域等. 这里先引用了封装的表单域 <Form.Item /> 2.使用Form.create处 ...

  9. python pip 更新失败问题

    通过PIP 安装第三方库的时候出现 pip程序版本过旧,用’python -m pip install --upgrade pip‘安装’提示仍然如下 可以用管理员身份运行windows shell  ...

  10. C#winform如何主窗口最大化最小化默认大小

    this.WindowState = FormWindowState.Minimized; bool b = true; private void button2_Click(object sende ...