图片来源于网络

都知道计算机数据是以二进制数0和1补码的形式存储在内存中。

那你知道它们转换关系吗?那么问题来了,为什么要转换?

前面已经说过计算机数据是以二进制0和1存储,所以它们要转换为二进制存储在计算机中,

计算机有众多进制数,为什么要采用二进制数实现数据的存储呢?

采用二进制主要是为了方便硬件的实现,电流的通、断,或高压的高、低正好能够表示二进制的0和1两个数码。

转换同样也是为了方便更大数值运算和数据的表达,

比如:二进制的101110011011.1001

八进制=5633.44

十进制=2971.5625

十六进制= B9B9 (这样是不是便捷很多

  • 来看一下进制数及它们的转换

计算机常用进制数分为:二进制、八进制、十进制、十六进制....

二进制0—1(逢2进1)

八进制0—7(逢八进一)

十进制0—9(逢10进1)

十六进制的0—F(10、11、12、1、14、15分别用A、B、C、D、E、F来表示(逢16进1)

它们对应关系

进制数对应关系

进制数如何转换?

二进制转N进制方法

二进制的计算机方式 在二进制世界里只有数字0----1(逢二进一)

  • 1.二进制转八进制

取三合一,即从二进制小数点为分界点,向左(向右)没三位取成够三位(添加0)

二进制对应八进制位权

例如下图:010 100 . 011 101

二转八

(010=2) (100=4) .(011=3) (101=5) 所以它们结果=24.35

分好组以后,对照二进制与八进制数的对应表(如表格所示),将三位二进制按权相加(此加非此加),小数点位置不变,得到的数就是八进制数,

在向左(或向右)取三位时,取到最高位(最低位)如果无法凑足三位,就可以在小数点的最左边(或最右边)补0(如下图)

不够取0

  • 2.二进制转十进制

右到左用二进制的每个数去乘以2的相应次方,“ 小数点”后则是从左往右

看一下十进制的权值

十进制的位权

例如:1011001011.01(下图解析)

二进制转十进制解析

跟十进制权值表结合看,1x2的0次方=1从右边向左边开始以此类推下去,小数点另算。

也可以数几个数然后从左边开始,比如这里有9个就从 *X2的9次方。

然后对照着十进制位权进行相加,得出十进制数715.25.

  • 3.二进制转十六进制

二转十六进制跟二转八进制一样的,不同的是十六进制是4位,而八进制是3位。

来看一下它们的权值

十六进制位权

取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位16位

组分好以后,对照二进制与十六进制数的对应表(如图2中所示),将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变,最后得到的就是十六进制数 (如下图)

不足四位,就向左向右补0,(跟二转八进制一样的)

不够取0


八进制转N进制

在八进制世界里只有数字0----7 (逢八进一)

  • 1.八进制转二进制

看下图发现没这个跟二进制转八进制一样的

例如:543.01

  • 2.八进制转十进制

例如:(1010)8

(1010)8 =1× 8^3+0 × 8^2+l× 8^1+0 × 8^0

=512 + 0 + 8 + 0

=512+8

=(520)10

这个是不是和二进制转十进制数差不多的,只是它们权值不同而已。

  • 3.八进制数转十六进制

八进制转成十六进制的算法通常有两种方法:

1.先把八进制转成二进制,再将二进制转换成十六进制

2.先把八进制转换成十进制,再将十进制转换成十六进制

十进制转N进制数

在十进制世界只有0----9(逢十进一)

转换方法 :十进制除于N进制余数 得结果

  • 1.十进制转二进制

比如:(185)10=(10111001)2

十进制转二进制

  • 2.十进制转八进制

例如:(185)10=(10111001)2。

十进制转八进制

  • 3.十进制转十六进制

例如:(185)10=(271)8

十进制转十六进制


十六进制转N进制

在十六进制世界里只有1----F(逢十六进一)

  • 1.十六进制转二进制

由于在二进制的表示方法中,每四位所表示的数的最大值对应16进制每一位上最大值,所以,我们可以得出,跟二转十六进制数一样的

简便的转换方法,将16进制上每一位分别对应二进制上四位进行转换0位是右

例如:(2AF5)16解析

第0位:(5)16 = (0101) 2

第1位:(F)16 = (1111) 2

第2位: (A) 16 = (1010) 2

第3位: (2) 16 = (0010) 2 -------下往上

得:(2AF5)16=(0010.1010.1111.0101)2

  • 2.十六进制转八进制

跟八转十六一样,先转为十进制或者二进制再转为八进制

  • 3.十六进制转十进制

权值为:

第0位的权值为16的0次方

第1位的权值为16的1次方

第2位的权值为16的2次方.......依此类推

在第N(N从0开始)位上,如果是数X(X大于等于0,并且小于等于15,即:F)表示的大小大小为X*16的N次方

例如:2AF5解析 (竖式计算)

第0位: 5 * 16^0 = 5

第1位: F * 16^1 = 240 (15*16)

第2位: A * 16^2= 2560 (10*16*16)

第3位: 2 * 16^3 = 8192 (2*16*16*16 ) 结果是:10997

(2 * 16^3 )+ (A * 16^2 )+ (F * 16^1 )+( 5 * 16^0 )= 10997(括号是我加进去的好看一点)


结语:除了计算机进制数的转换外,还有进制数的计算,想了解的可以搜索这方面内容学习,最后告诉大家,基础很重要,“基础不牢,地动山摇"没有坚实的基础走不远,欢迎大家一起交流、一起学习、一起成长。

好了本期内容就此结束,喜欢的朋友记得点赞评论转发收藏加关注哦!,

作者: TianshiyuMogui

著作权归作者所有侵权必究,商业转载请联系作者获得授权,非商业转载请注明出处。

16进制数组转成10进制 qt_计算机组成原理(进制数及转换)相关推荐

  1. 16进制数组转成10进制 qt_第五课_进制2

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

  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. 成考期末计算机组成原理,2020年10月自考02318计算机组成原理真题及答案

    以下是湖南自考生网为考生们整理的"2020年10月自考02318计算机组成原理真题及答案",考生可通过自考试卷练习更有把握的面对考试,对题型更加熟悉,从而取得更佳的成绩.供考生参考 ...

  6. 计算机组成原理往届的试题,【历年真题】全国2019年10月自考《计算机组成原理》试题真题与答案02318...

    [历年真题]全国2019年10月自考<计算机组成原理>试题真题与答案02318 时间:2020-08-09 17:33 来源:江苏成考网 阅读:94 全国2019年10月高等教育自学考试 ...

  7. 计算机进制转进制,计算机中进制及进制转换

    <计算机中进制及进制转换>由会员分享,可在线阅读,更多相关<计算机中进制及进制转换(55页珍藏版)>请在人人文库网上搜索. 1.计算机中进制及进制转换 计算机中进制及进制转换 ...

  8. php将数组变成字符串,php怎样将数组转成字符串

    [摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...

  9. ipv6 16进制转成10进制的数

    /** * ipv6 16进制转成10进制的数 * @param ip 1:1:2:2:ffff:ffff:ffff:ffff * @returns Array 10进制数的数组 */ ipSrv.p ...

最新文章

  1. Create a restful app with AngularJS/Grails(4)
  2. 不是所有图像都值16x16个词,清华与华为提出动态ViT
  3. Angular.js 最强学习资源合集
  4. Dave Python 练习十五 -- 面向对象编程
  5. asp.net中提交表单数据时提示从客户端(。。。)中检测到有潜在危险的 Request.Form 值...
  6. 年度总结文章的抽奖结果公布
  7. mysql索引原理剖析
  8. CVPR 2020 论文大盘点-图像增强与图像恢复篇
  9. Java案例:生成指定目录下某种类型文件的列表
  10. eclipse字体颜色设置
  11. atoi和itoa函数实现
  12. Debug Assertion Failed.Expression:_BLOCK_TYPE_IS_VALID(phead-nBlockUse)
  13. 【MAVEN】搜索错误“Index downloads are disabled,search results may be incomplete”
  14. php 获取某文件内容
  15. ios9提取安装包ipa_iOS获取App ipa包
  16. android 音乐扬声器,android安插耳机状态使用扬声器外放音乐
  17. Java中submit的方法,线程池中 submit()和 execute()方法区别
  18. 逻辑函数(表示方法、形式转换、化简、最小项、最大项)
  19. Android 原生和 JS 交互实践
  20. [作业]英语作业,无聊记事

热门文章

  1. python使用字典格式化字符串-4.2.3Python下字典的格式化字符串
  2. python语言怎么用-学习如何使用 Python 程式语言
  3. python读取csv文件的方法-python读写csv文件的方法
  4. python3.7安装-Linux安装python3.7
  5. python一个月能学成嘛-一个月可以学好基础的Python吗?
  6. 电脑无法安装python-无法安装Python库
  7. python的模块的导入和包的导入
  8. ExecutorService框架
  9. 数据库设计中的范式形式
  10. 在VS.NET中使用clickonce技术开发Winform程序