c++二进制转十进制_二进制,八进制,十进制,十六进制转换详解~

点 击 上 方 蓝 字 关 注 我 们 哦 ^-^

本文思维导图:

433176ddd8f92656d7b3ea0abc8de30b.png

1.数制:用一组固定的数字和一套统一的规则来表示数目的方法称为数制。

  • 进位计数制的要素:

    ①、数码:用来表示进制数的元素。

                               二进制:0,1。

                               八进制:0,1,2,3,4,5,6,7

                               十进制:0,1,2,3,4,5,6,7,8,9。

                               十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

    ②、基数:数码的个数。比如2进制数的基数为2。N进制数的基数为N。

    ③、*位权:数制中每一固定位置对应的单位值称为位权。为,对于 N进制数,整数部分第 i位的位权为N^(i-1),而小数部分第j位的位权为N^-j。

数制/N

二进制

八进制

十进制

十六进制

数码

0,1

0,1,2,3,4,5,6,7

0,1,2,3,4,5,6,7,8,9

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

基数

2

8

10

16

规则

逢二进一

逢八进一

逢十进一

逢十六进一

2^i-1

8^i-1

10^i-1

16^i-1

2.进制转换

  • 可对照表进行转换(缺点:容易记错)

十进制

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

二进制

0

1

10

11

100

101

110

111

1000

1001

1010

1011

1100

1101

1110

1111

10000

八进制

0

1

2

3

4

5

6

7

10

11

12

13

14

15

16

17

20

十六进制

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

  • N进制···>十进制(按权展开)

        1.二进制···>十进制

        转换原则:让二进制各位上的系数乘以对应的权,然后求其和              11001.11₂ = 1×2^4 + 1×2^3 + 0×2^2 + 0×2^1 + 0×2^0 + 1×2^-1 + 1×2^-2 = 25.7510

         整数:11001 = 1×2^4 + 1×2^3 + 0×2^2 + 0×2^1 + 0×2^0(以小数点为界逐步向左排序)

          小数:0.11= 1×2^-1 + 1×2^-2 (以小数点为界逐步向右排序

)

        2.八进制···>十进制

        转换原则:让八进制各位上的系数乘以对应的权,然后求其和。

        156.48 = 1×8^2 + 5×8^1 + 6×8^0 + 4×8^-1 = 110.5

        整数:156 = 1×8^2 + 5×8^1 + 6×8^0

        小数:0.4 = 4×8^-1

        3.十六进制···>十进制

        转换原则:让十六进制各位上的系数乘以对应的权,然后求其和。

        12C16= 1×16^2+2×16^1+C×16^0 = 30010 (C=12)

        总结:

              转换原则: 让N进制各位上的系数乘以对应的权(第i位的位权就为  N^i- 1) ,然后求和                  

              设向右为正方向,所以表示为:整数逆序,小数顺序

              注意不要超出数码范围^-^

  • 十进制···>N进制

       整数:除N取余逆排序         小数:乘N取整顺排序

       以十进制数463.625转换为十进制数为例

aedb59f533a699dcb9b41146f5ce5d67.png

   1.十进制···>二进制

   46.63510 = 101110.10102

bd8e29900e09d066d1dca3cb1d896c29.png

    2.十进制···>八进制(自己根据上述例题尝试算一下)

      (255)10= (377)8

       3.十进制···>十六进制(自己根据上述例题尝试算一下)

       (255)10 =(ff)16。

**************************************************************************

  • 八进制--->二进制

        2268 = (10010110)2

        1.  方法一:除2取余

        (一位八进制数可转换为三位二进制数,整数不够三位在左侧补0,小数在右侧补0)

bc712c2c1daeb2c7a07a705314414ae3.png

        2.  方法二:八进制···>十进制···>二进制

             2268 = 2×8^2 + 2×8^1 + 6×8^0 = 15010

             15010 = 100101102

  • 二进制--->八进制(8=2^3)

       (一位八进制数可转换为三位二进制数,整数不够三位在左侧补0,小数在右侧补0)

      100101102 = (  226 )8

      10010110=010010110=0×2^2+1×2^1+0×2^0+0×2^2+1×2^1

                                          =+0×2^0+1×2^2+1×2^1+0×2^0

6d38ad475cdec340bf337929b5e65cb2.png

  • 十六进制--->二进制

        2C 16= 1011002

        1.方法一:四合一(16=2^4)

       (一位十六进制数可转换为四位二进制数,整数不够四位在左侧补0,小数在右侧补0)

6fc42ac6d1fd59dd0667cdfd762badc9.png

        2. 方法二:十六进制···>十进制···>二进制

        2C16 = 2×16^1 + 12×16^0 = 4410

        4410 = 1011002

  • 二进制--->十六进制

       1011002=1×2^1+(1×2^3+1×2^2)=2C16

5e4569897049f2162118a2b6651867b8.png

  • 十六进制与八进制之间的转换

        方法一:十六进制二进制八进制

        方法二:十六进制十进制八进制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复习第三章多态

第三章 多态 本章需要掌握的东西 掌握多态的优势和应用场合答:多态的优势可以减少代码量,更加清晰明了。,应用场合为,一个事物需要做多种事情的时候需要用到多态。 2.掌握父类和子类之间的类型转换 答:父类引用转向子…

java堆 数据结构 堆_Java中的紧凑堆外结构/组合

java堆 数据结构 堆在上一篇文章中,我详细介绍了代码对主内存的访问方式的含义。 从那时起,我就在Java中可以做什么以实现更可预测的内存布局提出了很多疑问。 有些模式可以使用数组支持的结构来应用,我将在另一篇文章中讨论。 这篇文章将探讨…

Unix环境高级编程学习笔记(七) 多线程

线程概述 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只…

testflight开发者已将您从测试计划中移除_使用 TestFlight 测?试 App

目前市面上对于iOS开发的签名样式大致分为三种: a、企业签 依赖于苹果企业级开发者账号b、超级签 依赖于苹果个人开发者账号c、tf签 TestFlight Beta 版测试让您可以分发您 App 的 Beta 版构建版本给测试员并收集反馈。您可以在您的 App Store Connect 帐户中一次为…

MFC操作ini文件方法

转自:http://blog.csdn.net/rayborn1105/article/details/8192142 一个不错的接口:http://blog.csdn.net/qq575787460/article/details/8185339 在我们的程序设计中经常需要对一些参数进行配置,配置好后还要在下一次启动仍然有效,…

Java 8流中的数据库CRUD操作

在开始使用新工具时要克服的最大障碍是让您着手处理小事情。 到目前为止,您可能对新的Java 8 Stream API的工作方式充满信心,但是您可能尚未将其用于数据库查询。 为了帮助您开始使用Stream API创建,修改和读取SQL数据库,我整理了…

网络时间同步

linux yum install ntp ntpdate -y 时间同步命令:ntpdate time.windows.com 开机启动: chkconfig ntpd on 查看开机启动:chkconfig --list ntpd ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 转载于:https://www.cnblogs.com/…

java 权限url权限_SpringBootSecurity学习(11)网页版登录之URL动态权限

动态权限前面讨论用户登录认证的时候,根据用户名查询用户会将用户拥有的角色一起查询出来,自动实现判断当前登录用户拥有哪些角色。可以说用户与角色之间的动态配置和判断security做的非常不错。不过在配置方法级别的权限的时候,使用注解虽然…

线程使用

嵌入式中线程应用还是看需求,一般不常用(在不会使用的情况下)一、编译有线程的应用程序需要编译时指定编译lib库 ( -l pthread) 如:gcc main.c -o main -l pthread 才能编译通过。二、线程使用。1、线程运行…

C++ MFC string转Cstring为什么会乱码

前段时间学习mfc编了一个小程序,其中涉及到CString 与string的转换的时候感觉特别蛋疼,因此再此总结一下经验。希望能够对大家能有所帮助 通常有两种字符集模式 unicode字符集 和 ascii字符集,其中unicode有多种编码方式。utf8, …

metaq原理简介

1. 前言 本文档旨在描述RocketMQ的多个关键特性的实现原理,并对消息中间件遇到的各种问题进行总结,阐述RocketMQ如何解决这些问题。文中主要引用了JMS规范与CORBA Notification规范,规范为我们设计系统指明了方向,但是仍有不少问题…

3d展示网页开发_超实用:一篇文章带你了解市面上主流通用的3D模型格式

说到格式,相信大家都不陌生。随着互联网的普及,我们几乎每天都会和不同的格式打交道,文本的TXT、图片的JPG、视频的MP4,就连压缩包也有不同的格式。通俗来说,你可以把“格式”理解成基于同一规范的技术表征&#xff0c…

java三件套_Java开发人员应该知道的三件事

java三件套对于那些长期关注JavaOne 2012会议的读者来说,这是一篇有趣的文章。 我最近对Java冠军Heinz Kabutz的采访引起了我的注意; 包括他的Java内存难题程序,从Java内存管理的角度来看,这很有启发性。 采访中有一个特别的部分吸…

Python 的变量作用域和 LEGB 原则

在 Python 程序中创建、改变或查找变量名时,都是在一个保存变量名的地方进行中,那个地方我们称之为命名空间。作用域这个术语也称之为命名空间。 具体地说,在代码中变量名被赋值(Python 中变量声明即赋值,global 声明的…

让MessageBox在最前面弹出来的信息在

nt MessageBox( HWND hWnd, // handle of owner window LPCTSTR lpText, // address of text in message box LPCTSTR lpCaption, // address of title of message box UINT uType // style of message box ); 在uType参数中设置MB_SYSTEMMODAL就能让MessageBox在最前面 消息框…

Confluence 6 管理协同编辑 - 关于 Synchrony

协同编辑能够让项目小组中的协同合作达到下一个高度。这个页面对相关协同编辑中的问题进行了讨论,能够提供给你所有希望了解的内容。 进入 Collaborative editing 页面来获得项目小组是如何进行实时的协同工作的,这些协同工作包括在软件需求,…

如何初始化局部变量c语言_【C语言更新】C语言中如何来定义一个指针,并且对其进行初始化...

文/Edward上一节中,我们利用了一个小知识来介绍了一下指针,在上面这个例子中,小明和小丽手中的这个杯子就好比我们C语言中的变量,它确实是实实在在存放一些有具体意义的数据。这个杯套就类似于C语言中指针的作用,假设我…

Spring Environment仅用于初始化代码

从3.1版开始, Spring框架提供了对几种不同来源的抽象,通过它们您可以轻松地配置应用程序: Environment 。 在这篇文章中,我描述了一个微基准测试,我可以证明该基准测试是一个方便的API(如果您在应用程序中…

linux查看和关闭后台执行程序

后台执行的程序会有一个pid,查看后台程序主要用到jobs,ps 关闭后台程序用到kill详细说明转自http://blog.csdn.net/tianlesoftware/article/details/6165753 一. 有关进程的几种常用方法 1.1 & 符号 在命令后面加上一个 & 符号,表示该命令放在后台执行&…

Mysql 多表联合查询效率分析及优化

1. 多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用, 如: SELECT * FROM table1 CROSS JOIN table2 SELECT * FROM table1 JOIN table2 SELECT * FROM table1,table2 由于其返回的结果为被连接的两…