文章目录

  • 十进制与二进制之间转换详解
    • (一)十进制数转二进制数
      • 1.1 十进制正整数转二进制
      • 1.2 十进制负整数转二进制
      • 1.3 十进制小数转二进制数
    • (二) 二进制数转成十进制数
      • 2.1 二进制整数转十进制
      • 2.1 二进制小数转十进制
    • (三)十进制正整数转八进制

十进制与二进制之间转换详解

(一)十进制数转二进制数

1.1 十进制正整数转二进制

【基本原理】:除基数倒取余数法。
即:十进制转二进制,基数就是2,用2整除一个十进制正整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数;如此进行,直到商为0;然后把先得到的余数作为二进制数的低位有效位,把后得到的余数作为二级制的高位有效位,依次排列起来。所谓有效位,就是不算前导0;

 注:计算机内部表示数的字节单位是定长的,如8位,16位,32位。所以,位数不够时,高位补0,

例如:输入十进制正整数:150

150

#include<iostream>
using namespace std;
int main()
{int i, j;//定义循环变量;int a[1005];//定义一个储存二进制的数组;int num;cin >> num;//输入需要转换的10进制正整数;for (i = 0; num != 0; i++){a[i] = num % 2;//对num取余.......就是除以2的余数;num = num / 2;//......每次取余之后num除以2的商;}for (j = i - 1; j >= 0; j--)//倒序输出余数,即为二进制数;{cout << a[j];}cout << "\n";return 0;
}

for (j = i - 1; j >= 0; j–)
这里解释一下这句为什么是 (j=i-1),例如输入150,执行完循环之后 i=8;,但a数组的最后一个元素的下标是7(数组下标从0开始),所以i要减一;

1.2 十进制负整数转二进制

【方法】:先将十进制负整数对应的十进制正整数转换成二进制后,对二进制逐位取反(即:0变成1,
1变成0),然后对结果加1(当然是二进制运算);

1.3 十进制小数转二进制数

【方法】:对小数点以后的数×2,取结果的整数部分,然后再用小数部分再×2,再取结果的整数部分……以此类推,直到小数部分为0。然后把取的整数部分按先后次序排列,就构成了二进制小数部分的序列。
例:

0.125


注:如果十进制小数的整数部分有大于0的数时,将整数部分转成二进制,小数部分也转成二进制,加在一起就好了。
例:

150.125

(二) 二进制数转成十进制数

2.1 二进制整数转十进制

【基本原理】:按权展开求和法。
【方法】:首先将二进制数补齐位数(8位),首位如果是0就代表是正整数,如果首位是1则代表是负整
数。
(1).补齐位数以后,若首位是0的正整数,将二进制中的各位数与各自的权相乘,然后求和。
例:

11010


(2).补齐位数以后,若首位是1的负整数,就先将其逐位取反,再将二进制中的各位数与各自的权相乘,然后求和。
例:

11101110

2.1 二进制小数转十进制

【方法】:按权展开求和法,但和二进制整数转十进制的权不一样。
例:

0.1101

(三)十进制正整数转八进制

【基本原理】:与十进制正整数转二进制一样,除基数倒取余数法。
直接看代码:

#include<iostream>
using namespace std;
int main()
{int i, j;//定义循环变量;int a[1005];//定义一个储存八进制的数组;int num;cin >> num;//输入需要转换的10进制整数;for (i = 0; num != 0; i++){a[i] = num % 8;//对num取余.......就是除以8的余数;num = num / 8;//......每次取余之后num除以8的商;}for (j = i - 1; j >= 0; j--)//倒序输出余数,即为八进制数;{cout << a[j];}cout << "\n";return 0;
}

150

十进制与二进制之间转换详解相关推荐

  1. python datetime to timestamp_python timestamp和datetime之间转换详解

    做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确 ...

  2. python中时间戳、字符串之间转换详解

    [转载]python中时间戳.字符串之间转换详解 (2013-04-30 17:36:07) 转载▼ 标签: 转载 原文地址:python中时间戳.字符串之间转换详解作者:doris0920 1)秒数 ...

  3. 二进制转换八进制图解_二进制、八进制和十六进制之间转换详解

    我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1.9.10.297.952 等,一个数字最多能表示九,如果要表示十.十一.二十九.一百等,就需要多个数字组合起来. 例如表示 5+8 的结果 ...

  4. python timestamp转date_python timestamp和datetime之间转换详解

    做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确 ...

  5. C语言各种类型之间转换详解

    目录 1. C基本类型变量 2. 符号扩展 2.1 规则一: 2.2 规则二: 2.3 规则三: 3. 零扩展 4. 长类型转换为短类型 5. 自动类型转换 5.1 赋值时的类型转换 5.2 运算时的 ...

  6. 二进制、八进制、十进制、十六进制之间转换

    (一).进制之间的转换 八进制:0-7 十六进制:0-F 1.十进制 与 二进制之间的转换 (1).十进制转换为二进制,分为整数部分和小数部分 整数部分  方法:除2取余法,即每次将整数部分除以2,余 ...

  7. C++编程积累——C++实现十进制与二进制之间的互相转换

    欢迎关注原创公众号 [计算机视觉联盟],回复 [西瓜书手推笔记] 可获取我的机器学习纯手推笔记! 直达笔记地址:机器学习手推笔记(GitHub地址) 目录 十进制与二进制之间的转换 十进制转换二进制 ...

  8. 网络编程 网络地址点分十进制和二进制之间的转换

    网络编程 网络地址点分十进制和二进制之间的转换 点分十进制->二进制 点分十进制转二进制的函数有inet_addr,inet_aton,inet_network,inet_pton,它们都将输入 ...

  9. UNICODE与UTF-8的转换详解

    UNICODE与UTF-8的转换详解 1 编码 在计算机中,各种信息都是以二进制编码的形式存在的,也就是说,不管是文字.图形.声音.动画,还是电影等各种信息,在计算机中都是以0和1组成的二进制代码表示 ...

最新文章

  1. 黑色星期五c语言,求黑色星期五问题~
  2. 程序员如何日常解决错误问题
  3. 入门Python难不难?零基础到底要怎么学Python?
  4. 编辑器js获取浏览器高度和宽度值(转)
  5. Win10 + VSCode踩坑 + vue项目开发:设置vscode终端为管理员权限
  6. 微信小程序scroll-view去掉滚动条
  7. rabbitmq消息确认机制及死信队列的使用
  8. c语言中char的取值扩大,C语言中 char 类型的取值范围为什么是-128~127
  9. matlab图像分割算法源码
  10. LTE下行物理层传输机制(8)-DCI2A格式和下行双流的流量制约
  11. signature=a50e5f0f4a417f58d5844d45a67fb641,angular中文转拼音工具
  12. android app 图片资源,Android App 瘦身总结 第一章 图片资源的优化处理
  13. osm 搭建离线地图_利用OpenStreetMap(OSM)数据搭建一个地图服务
  14. 阿里云数据库设置ip白名单连接正式库详细步骤
  15. Kettle数据库连接中的集群与分片
  16. 智能云防雷,信号浪涌保护器防雷接地方案
  17. Photoshop 面试题
  18. Tuxera Disk Manager是什么软件,Tuxera Disk Manager怎么用
  19. scanf()函数详解
  20. 【SpringBoot】之自定义 Filter 过滤器

热门文章

  1. 我自己注册的账号,凭什么不让我注销?谁动了我们的“注销权”...
  2. 如何成为一名全栈开发人员----转载
  3. app 的 icon图标 有黑边
  4. css网页网格线条背景
  5. Python学习,第七课(灵活使用Frame,让布局更舒适)
  6. java后台程序员转android 之《三B》 支付宝支付 client join server 及采坑记录
  7. 【unity shader】unity游戏特效-仿《黑暗欺骗》模型消融消失效果
  8. 1407C. Chocolate Bunny(交互,推导)
  9. 企业网络营销:如何提高推广效果?
  10. 【微信小程序】零基础学 | 小程序语法