一、二进制数转换成十进制数

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。

例如把二进制数 110.11 转换成十进制数。


二、十进制数转换为二进制数

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

1. 十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

例如把 (173)10 转换为二进制数。

解:

2.十进制小数转换为二进制小数

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

例如把(0.8125)转换为二进制小数。

解:

例:

(173.8125)10=( )2

解:

在上个例子中得(173)10=(10101101)2
得(0.8125)10=(0.1101)2

把整数部分和小数部分合并得:

(173.8125)10=(10101101.1101)2
#include<iostream>
#include<cmath>
#include<string>
using namespace std;int a[1000],b[1000];
/*** 十进制转二进制**/
void dec2bin(double x){int num1=(int)x;double num2=x-num1;int iter=0;//整数while(num1>0){a[iter++]=num1%2;num1/=2;}for(int i=iter-1,z=4-iter%4+1;i>=0;i--,z++){cout<<a[i];if(z%4==0)cout<<" ";}cout<<". ";//小数iter=0;while(fabs(num2-0.0)>0.000001){//double类型,num2==0.0b[iter]=(int)(num2*2);num2=num2*2-b[iter];iter++;}for(int i=0;i<iter;i++){cout<<b[i];if((i+1)%4==0)cout<<" ";}cout<<endl;
}/*** 二进制转十进制* .....**/
void bin2dec(string s){int dot_pos=0;//小数点位置for(int i=0;i<s.size();i++){//除去空格//....if(s[i]=='.'){dot_pos=i;break;}}//....
}int main()
{double x;x=256.3125;dec2bin(x);return 0;
}

十进制与二进制相互转换(c++)相关推荐

  1. C语言 十进制和二进制相互转换 - C语言零基础入门教程

    目录 一.十进制和二进制区别 1.基数不同 2.有效字符不同 3.用途不同 二.十进制转二进制 三.二进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >& ...

  2. Oracle数据二进制传输,学习笔记:Oracle数值函数 十进制与二进制相互转换的函数使用案例...

    天萃荷净 ORACLE 十进制与二进制互转函数,开发DBA向我咨询数值转换的方法,Oracle数值转换函数NUMBER_TO_BIT等函数可用 1.Oracle数值转换之十进制转换二进制 CREATE ...

  3. 十进制与二进制相互转换

    十进制转二进制 这方法叫 除2取余,逆序排列 法: 例如,现在要将20转为二进制,那么我们的运算逻辑是: 20 % 2 = 10 余 0 10 % 2 = 5 余 0 5 % 2 = 2 余 1 2 ...

  4. 十进制与二进制相互转换(包括带小数点.各类进制转换公式)

    首先从进位制,来讨论 十进制 0-1-2-3-4-5-6-7-8-9 例如: 365.32(十进制) 小数点左等于 3102+6*101+510^0 右边等于 310^-1 + 210^-2 综合结果 ...

  5. 使用python进行十进制和二进制(补码)相互转换

    使用python进行十进制和二进制相互转换 python中进制转换有专门的函数,如hex,int,oct,bin.见下图. 不过如果我将一个负数使用bin转换为2进制,得到的并不是补码形式.如: &g ...

  6. C语言 十进制和八进制相互转换 - C语言零基础入门教程

    目录 一.十进制和八进制区别 1.基数不同 2.有效字符不同 3.用途不同 二.十进制转八进制 三.八进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >& ...

  7. C语言 十进制和十六进制相互转换 - C语言零基础入门教程

    目录 一.十进制和十六进制区别 1.基数不同 2.有效字符不同 3.用途不同 二.十进制转十六进制 三.十六进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 &g ...

  8. oracle十进制函数语法,Oracle 十进制、二进制互相转换自定义函数

    Oracle 十进制.二进制相互转换自定义函数 create or replace function number_2_bit(v_num number) return varchar is v_rt ...

  9. [转载]C# 二进制与十进制,十进制与十六进制相互转换

    原文地址:C# 二进制与十进制,十进制与十六进制相互转换作者:tonytonglx 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 ...

  10. c++十进制转二进制_二进制与十进制相互转换的原理

    ┇铺垫 二进制,简单来说,是一种运算规则,每一位达到"二"就进一位,故称为"二" "进" 制.在我们日常计算里每一位到"十&quo ...

最新文章

  1. 【TensorFlow】TFRecord数据集的制作:读取、显示及代码详解
  2. NYOJ 84 阶乘的0 数论
  3. Qt平台和编译器说明-Android
  4. linux中内存管理方法的总结,Linux内存管理-free学习心得
  5. MATLAB中如何删除坐标上已画出的内容
  6. 4-3利用神经网络解决分类和回归问题(1)
  7. 微课|Python列表、字典、集合、字符串对象常用方法串讲
  8. JQuery选择器跨frame和层次选择
  9. rk3399_android7.1调试USB接口的TP记录
  10. 【颜色识别】【Python+OpenCV】KNN(K近邻算法)实现魔方颜色识别【 3-1】
  11. 《游戏设计师修炼之道:数据驱动的游戏设计》一1.1 风险管理的作用
  12. 电信 宽带 光猫 中兴 F460 V6.0.0P11T2sc 破解 telecomadmin 超级密码 的方法
  13. 面向对象:感受温柔,领略山河,遇见不容易,喜欢望珍惜
  14. 麒麟985和麒麟990有什么区别(手机常见问题)
  15. 计算机和共享打印机不在一个网络打印机共享,不在同一个局域网怎么样设置打印机共享...
  16. 指纹识别综述(6): 现场指纹识别
  17. 面向异构众核超级计算机的大规模稀疏计算性能优化研究
  18. 基于Labview平台的滚动轴承故障分析与噪声评价系统
  19. spaceclaim脚本(内摆线)
  20. 【愚公系列】2021年12月 Java教学课程 14-流程控制语句之while循环

热门文章

  1. [笔记] 数据结构二刷【第一篇:线性表·栈·队列·递归】
  2. 你一定要收藏的全网最完整CAD快捷键大全!
  3. 挂马攻击的介绍和防御
  4. 学习笔记47—PhotoShop技巧
  5. c语言自我介绍范文,一分钟面试自我介绍范文【五篇】
  6. Java-----四舍五入保留两位小数的方法
  7. SD卡启动第二篇 (手动导入系统到SD卡分区)
  8. 13-02-uniapp供热服务接口配置
  9. 网络营销的4p营销理论
  10. 【FusionCompute】基于FreeNAS部署并使用虚拟存储(五)