二进制、八进制、十六进制与十进制的相互关系

简介: 二进制、八进制、十六进制与十进制的相互关系

一、二进制(逢二进一)

1、二进制正负数的判断

二进制数的最高位即符号位(左边的第一个数)若为1,则该数为负数,若最高位为0,则该数为正数。

2、原码、反码、补码及其之间的关系

  • 计算机内部的二进制数都是以补码储存的。
  • 正数的原码就是补码。
  • 反码即将原码的所有数取反,即1变0,0变1。
  • 负数原码(由十进制转二进制计算出来的数)与补码的关系:原码(保持符号位不变) -> 反码 -> 反码+1 -> 补码
    如将负数 1001 0111 变为补码:1001 0111 -> 1110 1000 -> 1110 1001

3、二进制与十进制的相互转换

  • 二进制转十进制:
  • 整数:若符号位为1,则应先将其变为原码。最低位(右边的第一个数)开始,每一位都乘以2n-1,再求和,最后根据符号位添加符号。如将二进制数01 0111转化为十进制数:01 0111=1*20+1*21+1*22+0*23+1*24=23
  • 小数:若符号位为1,则应先将其变为原码。整数与符号部分算法不变。小数部分:从小数点第一位开始,每一位都乘以2-n,如将二进制数01 0111.101转化为十进制数:01 0111.101=1*20+1*21+1*22+0*23+1*24+1*2-1+0*2-2+1*2-3=23.625
  • 十进制转二进制:
  • 整数:将数不断除以二,直到商为0,将所得的余数逆序排列,最后再根据正负号确定符号位,即为该数的二进制数,
  • 小数(一般规定精度):整数部分算法相同。小数部分:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。将整数部分正序排列,即为该小数的二进制数。
    例如:

二、八进制(逢八进一)

1、八进制与二进制的相互转换

  • 二进制转八进制:由八进制的性质(逢八进一),将二进制数从最低位开始,每三位归为一组,将其转换为对应的十进制数,即为所求的八进制数。如:0111 0101 = 01 110 101 = 0165(数字0为八进制的前缀)
  • 八进制转二进制:将八进制的每一位数都拆成二进制数即可。如:0245 = 0010 0100 0101

2、八进制与十进制的相互转换

八进制转十进制:

  • 方法一:先将八进制数转为二进制数,最后再转为十进制数。
  • 方法二:同二进制转十进制的算法,最低位(右边的第一个数)开始,每一位都乘以8n-1,再求和。

十进制转八进制:

  • 方法一:先将数转为二进制,最后再转为八进制数。
  • 方法二:整数部分:基本算法不变,只是将上表中的除以2改为除以8。
    小数部分:基本算法不变,只是将上表中的乘以2改为乘以8。

三、十六进制(逢十六进一)

计数规则:十六进制的每一位取值范围为 0~15,为方便计算,将1数0~15分别记为ABCDEF。

1、十六进制与二进制的相互转换

  • 二进制转十六进制:将二进制数从最低位开始,每四位归为一组,将其转换为对应的十进制数,即为所求的十六进制数。
    如 0111 1111 0101 = 0x7F5(0x为十六进制的前缀)
  • 十六进制转二进制:将十六进制的每一位数都拆成二进制数即可。

2、十六进制与十进制的相互转换

十六进制转十进制:

  • 方法一:先将十六进制数转为二进制数,最后再转为十进制数。
  • 方法二:同二进制转十进制的算法,最低位(右边的第一个数)开始,每一位都乘以16n-1,再求和。

十进制转十六进制:

  • 方法一:先将数转为二进制,最后再转为16进制数。
  • 方法二:整数部分:基本算法不变,只是将上表中的除以2改为除以16。
    小数部分:基本算法不变,只是将上表中的乘以2改为乘以16。


相关文章
|
人工智能 自然语言处理 物联网
RoSA: 一种新的大模型参数高效微调方法
随着语言模型不断扩展到前所未有的规模,对下游任务的所有参数进行微调变得非常昂贵,PEFT方法已成为自然语言处理领域的研究热点。PEFT方法将微调限制在一小部分参数中,以很小的计算成本实现自然语言理解任务的最先进性能。
427 1
|
缓存 Linux Shell
centos7安装字体和中文字体
centos7安装字体和中文字体
1710 0
|
8月前
|
JSON 数据挖掘 API
深入研究:京东商品评论API详解
京东商品评论API助力电商数据分析与优化。通过该接口,开发者可获取商品评论内容、时间、评分等详细信息,以及好评率、差评率等统计数据。适用于用户体验分析、市场调研等场景。使用前需注册开发者账号、申请权限,并正确配置参数(如app_key、商品ID等)。返回数据为JSON格式,便于解析与应用。
420 10
|
11月前
|
JavaScript
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
1688 27
|
11月前
|
存储
计算机基础(4)——原码、补码、反码
计算机为了区分数值的正负提出了符号位的设定,计算机用最高位存放符号,这个被称为符号位。正数的符号位为0, 负数的符号位为1。 例如,1的二进制表示形式为`0000 0001`,而-1的二进制表示形式为`1000 0001`。在计算机中,一个字节为8个位,最大值为0111 1111,十进制为127。最小值为1000 0000,十进制为-128。因此一个字节的取值范围为-128~127之间。
2678 4
|
存储 安全 网络安全
|
数据采集 机器学习/深度学习 大数据
基于Python实现xgboost回归模型(XGBRegressor)项目实战
基于Python实现xgboost回归模型(XGBRegressor)项目实战
|
存储 运维 Linux
Linux磁盘精准缩容:操作详解与技巧
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
Linux磁盘精准缩容:操作详解与技巧
一分钟了解什么是原码-反码-补码
一分钟了解什么是原码-反码-补码
|
Prometheus 监控 Cloud Native
Prometheus 安装与配置
Prometheus 安装与配置