前言

感谢网友的提醒,前面一课弄错了,是第四课,这一课才是第五课。这一课主要讲传统进制的转换方法。但是需要说明的是,进制间是不需要转换的,每一种进制本身都是完美的。

一、通过中间进进行转换

需要说明的是,任何进制间都是可以进行相互转换的,但是不常用的一些转起来就比较麻烦,当然,方便一点的方法就是以十进制为中间点进制转换,例如:把八进制转成二进制,可以先把八进制转成十进制,然后把得到的十进制转成二进制。这种方法简单,但是步骤比较多。

根据上面所说的,可以知道学会任何进制跟十进制的转换,就可以进行任何进制的转换了。

下面是任何进制跟十进制的转换方法:1、十进制转成其他进制:整数部分的转换:要转成几进制,就除几,最后倒取余数;小数部分的转换:要转成几进制,就乘几,最后顺取整。2、其他进制转成十进制:直接把数据按权展开,然后相加。

十进制转成其他进制

整数的十进制转二进制

方法:除2倒取余

例子:135 D = 10000111 B

解释:如下图,将135除以2,得到67,写在下面,余数为1,写在右侧。得到的67还可以被2除,所以再将67除以2,得到33,写在下面,余数为1,写在右侧。以此类推,直到得到的商为0为止。最后将得到的余数从下往上取。

小数部分的十进制转二进制

方法:乘2顺取整

例子:0.125 D = 0.001 B

解释:如下图,将0.125乘以2,得到0.25,把乘积的整数部分写到右侧,然后把乘积0.25的小数部分(注意,一定是小数部分,如果前面的乘积结果整数部分不是0,要把整数部分去掉)继续乘以2,得到0.5,把乘积的整数部分写到右侧,然后把乘积0.5的小数部分继续乘以2,得到1,没有小数部分,结束转换。最后把得到的整数部分从上到下取,就可以得到相应的二进制的小数部分。

整数的十进制转八进制

方法:除8倒取余

例子:150 D = 226 O

解释:如下图,将150除以8,得到18,写在下面,余数为6,写在右侧;商不为0,继续求解,知道商为0才结束。最后把得到的余数从下往上取。得到八进制的226。

其他进制转成十进制

整数的二进制转十进制

​方法:将二进制数据按权展开,然后相加。

例子:10010110 B = 150 D

解释:如下图,将10010110按权展开,从右边算起,第一位是2的0次方,第二位是2的1次方,依次指数递增。最后相加,得到的结果就是十进制数。

小数部分的二进制转十进制

方法:将二进制数按权展开(注意权值,小数点后面第一位是2的-1次方,不是0次方),然后相加。

例子:0.1011 B = 0.6875 D

解释:如下图,将0.1011按权展开,小数点后面第一位是2的-1次方,第二位是2的-2次方,依此类推。最后把各部分相加,就可得到相应的十进数。

其他进制就不一一讲了,因为很简单,只要将幂的底数换成相应的进制数就可以了,例如八进制就换成8,十六进制就换成16。

二、不通过中间进进行转换

下面说一些不通过中间进制就直接转换的方法。

二进制转八进制

方法:每3位二进制数按权展开,然后相加得到一位八进制数。说明:3位二进制数对应一位八进制数(注意:取3位时是从右向左取,如果最左侧的二进制数不够3位,在前面补0)

例子:10010110 B = 226 O

解释:如下图,先将10010110按3位来分,从右向左分,如果最左边不够3位,前面补零。我们分成了010,010,110这3个,然后这3个数按权展开,然后相加,得到3个八进制数位,最后把这3个数拼接成一个八进制数。

八进制转二进制

方法:对每一个八进制数位对应3个二进制数位。所以对每一个八进制数位除以2倒取余数,倒取余数不够3位的,在前面补0,最后把他们拼接,就得到相应的二进制数。

例子:226 O = 10010110 B

解释:如下图,将每个八进制位都除以2取余数,直到商为0,才倒取余数,得到该八进制位所对应的二进制数,如果二进制数不够3位,就在前面补0。全部八进制位都求出对应的二进制数后,拼接起来,得到最后的二进制数。

其他的就不说了,例如:二进制和十六进制之间的转换就不说了,原理是差不多的,只是一个十六进制位对应4个二进制位而已。

后言

其实这种传统的进制间的转换是没什么必要的,但是我们有时候考试的时候会遇到,所以讲讲。

写于2020.2.17 22:21

16进制数组转成10进制 qt_第五课_进制2相关推荐

  1. 16进制数组转成10进制 qt_计算机组成原理(进制数及转换)

    图片来源于网络 都知道计算机数据是以二进制数0和1补码的形式存储在内存中. 那你知道它们转换关系吗?那么问题来了,为什么要转换? 前面已经说过计算机数据是以二进制0和1存储,所以它们要转换为二进制存储 ...

  2. 16进制数组转成10进制 qt_QT 16进制 ASII   10进制 转换

    //16进制字符串转字节数组 static QByteArray HexStrToByteArray(QString str) { QByteArray senddata;  //发送数据 int h ...

  3. 16进制数组转成10进制 qt_QT 十六进制字符串转化为十六进制编码

    /************************************************* Function: hexStringtoByteArray() Description: 十六进 ...

  4. 16进制数组转成10进制 qt_将十六进制转换为二进制qt

    如果在您的情况下不起作用,那么其他事情就会出错. (这是其他评论家已经告诉你的.) 我怎么能说服你呢? 我最后的(绝望)尝试:一个(不那么)MCVE: #include #include int ma ...

  5. # 将微博地址里面的62进制字符串转换成10进制的16位数字mid

    # 将微博地址里面的62进制字符串转换成10进制的16位数字middef base62_decode(string):alphabet = "0123456789abcdefghijklmn ...

  6. 第六课_进制3_进制的表示

    前言 在第四课中<>我们知道进制的本质,这节课就来讲讲如何用定义来表示各种进制的数.可能有点枯燥,但是学会这个才能容易学懂后面的进制的运算. 传统进制的表示 为了更好讲解,本id用0到10 ...

  7. 如何将10进制转成16进制,又如何将16进制数转成10进制,C#和VB代码?

    方法1: int   d=10;         d.ToString("x")   //或把x改为X,,,就变成了16位的字符串了.         int   x=Conver ...

  8. QString将16进制字符串转换成10进制字符串(16进制IP地址的转换显示)

    现在读到有一个IP地址:EF80C70A(0A->10,C7->199,80->128,EF->239),以字符串的形式读出到QString中.现在要将其转化为10.199.1 ...

  9. 16进制转8进制 两种方法先转二进制在转8进制或先转10进制在转8进制

    问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大写字母AF组成的字符串,表示要转换的 ...

最新文章

  1. (附下载地址)制作RPM包(星际译王词典包)
  2. android NDK 二、编译方法
  3. Fast Walsh-Hadamard Transform——快速沃尔什变换
  4. 仿京东左侧二级导航条
  5. urllib的实现---cookie处理
  6. uboot中设置MAC地址,重启不丢失
  7. 登录系统_执照管理系统登录与执照转换操作指南
  8. 业务流程图6个图例_史上最全PID图例攻略!
  9. nod找不到服务器,Nodejs服务器:无法加载资源:服务器响应状态为404(未找到)...
  10. C#:判断某个对象有没有某个键的方法
  11. 数据库悲观锁和乐观锁
  12. WIN7显示桌面图标设置到左下角
  13. 服务器系统事件id1001,win10系统玩游戏出现蓝屏事件ID1001的解决方法
  14. 苹果手机如何深度清理_安卓手机必备清理软件APP,完全免费超级深度清理
  15. 微信扫码下载APP(带有蒙层)
  16. php当下前景怎么样,最适合当下的趋势策略,详细写给你看(7月13日 指数分位点)...
  17. 深度解析:电商直播基地运营及盈利模式
  18. 华为手机屏幕锁屏时间设置_如何设置屏幕锁屏时间华为手机
  19. python判断两个数是否互质_《算法》第一章——判断两个整数是否互质
  20. php制作日历带节日实验目的,php制作日历

热门文章

  1. 【黑马JS比较】用JavaScripts的DOM对象实现动态表格
  2. python笔记:random模块中的函数
  3. 使用Live555类库实现的网络直播系统
  4. pandas 设置多重索引_pandas dataframe多重索引常用操作
  5. 【初赛】排列组合的一点笔记
  6. java反射获取实现类_Java介绍通过反射获取类的信息
  7. JSP→基本语法/静态内容/指令/动作/表达式/小脚本(Scriptlet)/声明/注释、JSP页面声明周期、代码样例、九大隐式内置对象及方法代码样例
  8. 尚硅谷设计模式-观察者模式
  9. 2014蓝桥杯C++A:猜年龄;扑克序列(全排列)
  10. 大学生程序设计邀请赛(华东师范大学)C:袋鼠妈妈找孩子