二进制、八进制、十进制及十六进制间的转换最简单的方法

2023-05-16

二进制、八进制、十进制及十六进制的转换

1. 四种常用进制概况

在讲解这四种常用进制间转换之前,需要先清楚每种进制数都包含哪些数字:
在这里插入图片描述
在上面的图中很轻易的可以看出这四种进制数中数字元素的区别,并且除了我们最常用的十进制数外,其他三种进制都有便于区分的“前缀”。

2.二进制与十进制间的转换

在这里插入图片描述
上图中我们假定了一个四位的二进制数–1001,我们可以从左边起每个数字下面分别标记1、2、4、8,这四个数分别是2^0 | 2^1 | 2^2 | 2^3。我们可以通过在下面写的每个数字与二进制数一一相乘再相加,进而得到二进制数所对应的的十进制数字。

在这里插入图片描述
我们又假定了一个十进制数字,这次我们将十进制数转换成二进制数字;首先我们在这个数字的左边下面画直线,代表要对其除以二,然后将整除得数写到下划线的下方,然后在得数的左边写上此次除以二的余数。。。以此类推,一直写到最后一个得数为1,然后把1直接写到最下面。最后按照从下向上的方式将余数连接,便得到了这个十进制数相应的二进制数。

3.二进制与十六进制间的转换

在这里插入图片描述
同样,我们依然假定一个位数比较多的二进制数,首先我们需要知道的一点–用四位二进制数足以表示0~15这16个数字中的任意一个,即1+2+4+8 = 15, 0 ~ 15刚好16个数字;那我们又清楚16进制数为每逢16进一位;因此,我们可以认为每四位二进制数都可以来表示一位16进制数字,因此,在二进制转换为十六进制时,我们从右向左每四位二进制数划为一组,在分完组之后,我们再进行下一步计算–将每组二进制数首先转化为十进制数字,由于十六进制数不会出现10 ~ 15这几个数字,而是使用A、B、C、D、E、F来表示,所以下一步我们将刚刚转化完的十进制数中大于9的全部相应转化为A - F中的某个字母,最后再将转换完的四位十六进制数排列好写出,注意:除了十进制数外,其他三种进制数字一定要在其前方标注对应的前缀。

4.二进制与八进制间的转换

在这里插入图片描述
这里其实如果搞清楚了二进制与十六进制的转换方式之后,二进制与八进制的转换方式也是类似的,只不过,这里我们按照3位进行一组划分就可以了,因为1+2+4 = 7,足以表示8位数了;如果在划分过程中发现最左边位数不够了,那就直接用0补全就可以了;并且如果要把十六进制数或者八进制数转换为二进制,也只需要按照相反的思路进行换算就可以了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二进制、八进制、十进制及十六进制间的转换最简单的方法 的相关文章

  • QT 线程之QWaitCondition(深入理解)

    QWaitCondition 允许线程在某些情况发生时唤醒另外的线程 一个或多个线程可以阻塞等待一QWaitCondition 用wakeOne 或wakeAll 设置一个条件 wakeOne 随机唤醒一个 xff0c wakeAll 唤醒
  • Qt QMessageBox使用详解

    本文详细的介绍了QMessageBox控件的各种操作 xff0c 例如 xff1a 消息提示框的使用 判断消息提示框的按钮 标准图标和自定义图标 定时关闭 自定义样式等操作 本文作者原创 xff0c 转载请附上文章出处与本文链接 Qt QM
  • C++ permutation排列算法详解(深入了解,一文学会)

    排列就是一次对对象序列或值序列的重新排列 例如 xff0c ABC 中字符可能的排列是 xff1a 34 ABC 34 34 ACB 34 34 BAC 34 34 BCA 34 34 CAB 34 34 CBA 34 三个不同的字符有 6
  • QT QMenuBra QMenu QAction 菜单栏 操作详解

    本文详细的介绍了QMenuBra QMenu QAction 菜单栏的各种操作 xff0c 例如操作 xff1a 新建界面 加入菜单项 加入子菜单 新建二级子菜单 QAction分隔符 pMenuBar 点击信号 触发信号 设置图标 设置禁
  • 网络编程POSIX规范要求数据类型

    数据类型 说明 来源 int8 t 带符号8位整数 lt sys types h gt uint8 t 无符号8位整数 lt sys types h gt int16 t 带符号16位整数 lt sys types h gt uint16
  • 解决ajax的delete、put方法接受不到参数的问题

    通过修改配置文件来实现Put和Delete请求的参数传递的问题 在web xml中添加如下代码 xff1a lt filter gt lt filter name gt HttpMethodFilter lt filter name gt
  • - Dockerfile 指令、构建过程

    查看Dockerfile中可以使用的全部指令 xff1a lt http docs docker com reference builder gt 制作Docker image 有两种方式 xff1a 一是使用 Docker contain
  • python正则表达式匹配邮箱地址是否合法

    题目 xff1a 1 xff09 请尝试写一个验证Email地址的正则表达式 版本一应该可以验证出类似的Email xff1a someone 64 gmail com bill gates 64 microsoft com 2 xff09
  • 公网IP和内网IP的区别? 什么是127.0.0.1?

    IP地址是设备在网络上的唯一标识符 xff0c 比如无线路由器有两个IP xff0c 公网IP xff08 例如100 78 118 73 连接互联网 xff0c 私有 xff08 内网 xff09 IP xff08 如192 168 1
  • 计算机网络课程设计之Tracert与Ping 程序设计与实现

    一 预备知识 ICMP ICMP的报文是封装在IP数据部分中的 按照我的理解 xff0c ICMP就是在网络层中 xff0c 反馈一些转发 访问等操作时的附带信息 ICMP分为两种 xff0c ICMP差错报告报文 xff08 IP传输时的
  • 计算机网络课程设计之网络聊天程序的设计与实现

    TCP和UDP在接收方的区别 xff08 实际上本实验中用不着 xff09 UDP 协议 User Datagram Protocol 用户数据报协议 xff0c 是一 种保护消息边界的 xff0c 不保障可靠数据的传输 就是指传输协议把数
  • 计算机网络课程设计之嗅探器实现

    资料来源网络 xff0c 侵权请联系删除 原理 简单说明一下什么是网络嗅探器 xff0c 网络嗅探器是一个抓取所有经过网卡数据的软件 xff0c 在一般使用电脑时 xff0c 网卡只接受到发送至本机的数据 xff0c 那是因为这是网卡是非混
  • 牛客网高级项目总结

    1 注册和登陆 登陆和注册成功之后 xff0c 在cookie里添加上token xff0c 另外在数据库中插入包含token userId的表 xff0c 用于登陆状态检验 具体检验是在拦截器上进行 xff0c 拦截器的实现过程 xff1
  • 设计模式

    面向对象设计原则 每个对象是拥有独立责任的抽象体 真正的复用是源代码不做修改 xff0c 编译 43 测试之后就不会再修改 设计原则 1 依赖倒置原则 xff08 DIP xff09 1 xff09 高层模块 xff08 稳定 xff09
  • Redis面试

    1 更新操作 https coolshell cn articles 17416 html 不可以先删除缓存 xff0c 再更新数据库 因为并发操作下 xff0c 一个更新操作删掉了缓存 xff0c 此时一个读操作进来 xff0c 读取了旧
  • 【关系代数习题】纸上得来终觉浅——数据库学习之路(4)

    题A 设有如下所示的关系S S SNAME AGE SEX C C CNAME TEACHER 和SC S C GRADE xff0c 用关系代数表达式表示下列查询语句 xff1a 1 检索 程军 老师所授课程的课程号 C 和课程名 CNA
  • 线程池

    public ThreadPoolExecutor int corePoolSize int maximumPoolSize long keepAliveTime TimeUnit unit BlockingQueue lt Runnabl
  • 爬取3499手游网下载地址信息

    爬取3499手游网下载地址信息 爬取游戏的下载地址和信息 xff0c 爬取的信息存入到数据库中 1 首先需要安装第三方库 requests xff0c lxml xff0c MySQLdb 2 先创建down software数据库 创建y
  • %d几种输出方式

    d就是普通的输出了 2d是将数字按宽度为2 xff0c 采用右对齐方式输出 xff0c 如果数据位数不到2位 xff0c 则左边补空格 2d是将数字按宽度为2 xff0c 采用左对齐方式输出 xff0c 如果数据位数不到2位 xff0c 则
  • qt开启线程界面假死问题解决

    一 前言 在 使用qt高速读取传感器数据时 xff0c 如果想要将数据实时刷新在界面 xff0c 就需要开启一个线程单独去跑读取数据函数 xff0c 并反馈给主程序 xff0c 否则在主程序中读取和刷新界面会很卡很卡 xff0c 但是在开启

随机推荐