[杂谈]-十六进制数

news2025/1/13 16:49:58

十六进制数

文章目录

  • 十六进制数
    • 1、概述
    • 2、十六进制数字
    • 3、以十六进制计数
    • 4、二进制数补零
    • 5、十六进制到十进制转换
    • 6、十进制到十六进制转换
    • 7、二进制到十六进制转换示例
    • 8、十六进制转二进制和十进制示例
    • 9、总结

1、概述

十六进制 数字是一种以16为基数的计数系统,使用十六个数字来表示其数字的值。 十六进制数使用一组或一组四个二进制数字来形成十六进制数字。 换句话说,一个十六进制数字相当于一个半字节,从上一篇文章我们知道,半字节是一个四位二进制数。 最右边的半字节形成最低有效的十六进制数字,并且可以将半字节添加到其左侧以表示更大的十六进制数。

在这里插入图片描述

计数系统的架构是针对 8、16、32 和 64 位等二进制数而设计的,这些数字以零 (0) 和一 (1) 的表示方式变得相当混乱和复杂。 事实上,读取和写入较大的二进制数可能会导致错误,并且信息可能会变得可疑。 较大的二进制数的表示可以通过使用更高的基值编号系统来管理,与二进制数字(位)相比,该系统将容纳更多的单位值。 八进制(以 8 为基数)数字可以使用八 (8) 个数字(0 到 7),并且可以容纳 3 位二进制数。 3 位二进制数非常小,不适合 8、16、32 和 64 位架构等。同样,十进制数适合表示 3 位二进制数,但浪费了两个(8 和 9) 数值。 换句话说,在表示二进制数时,八进制计数系统比十进制(十进制)数字更合适。

合适且适当的计数系统是能够容纳 4 位二进制数的系统。 我们知道,一个 4 位数字可以容纳十六 (16) 个值(二的四次方)。 这需要一个具有 16 个值(即从 0 到 15)的编号系统。十进制数字的数字范围是从 0 到 9 以及以上的数字,例如 10、11、12、14 和 15 不能用它来表示 涉及使用以前使用过的号码。 在十六进制中,九(9)以上的值由A、B和C等英文字母表示。这些字母的使用克服了十(10)及以上值的数字重复问题。

这意味着十六进制的 A、B、C、D、E 和 F 分别表示十 (10)、十一 (11)、十二 (12)、十三 (13)、十四 (14) 和十五 (15) 。 这同样适用于表示“1010”、“1011”、“1100”、“1101”、“1110”的等效二进制数。 和“1111”,分别。 通过将二进制数分成 4 位组,可以缓解表示较大二进制数的困难。 例如,考虑$ (1101100111001010)_2$,它是一个 16 位二进制数,同样可以写为 ( 1101100111001010 ) 2 (1101 1001 1100 1010)_2 (1101100111001010)2。 后者是通过分成一组或一组 4 位来实现的,所得的二进制数更容易读取。

通过将二进制数转换为等效的十六进制数,可以进一步减少二进制数的长度和复杂性。 然而,与十进制数相比,十六进制数更复杂,并且仅在数字系统中使用。 4 位二进制数“0000”、“0001”、“0010”、…和“1111”由单个十六进制数字表示。 4 位二进制数称为“半字节”,相当于十六进制数字。 该字节由 8 位或两个半字节组成,两个十六进制数字表示其等效值。 例如,二进制数$ (10100111)_2 $被分成两半/半字节 ( 10100111 ) 2 (1010 0111)_2 (10100111)2。 其中, ( 1010 ) 2 (1010)_2 (1010)2相当于十进制的 ( 10 ) 10 (10)_{10} (10)10、十六进制的 ( A ) 16 (A)_{16} (A)16。 同样,第二个半字节 ( 0111 ) 2 (0111)_2 (0111)2相当于十进制和十六进制的(7)。 因此,总的来说,二进制数$ (10100111)_2$ 相当于十六进制数 ( A 7 ) 16 (A7)_{16} (A7)16

2、十六进制数字

下表列出了从 0 到 15 的十进制数及其对应的二进制和十六进制数。

在这里插入图片描述

上表显示了十六进制数字从 0 到 15 的等效十进制数。 对于十六进制中超过十五(F)的数字,采用与其他计数系统类似的过程,即在左侧添加一个有效数字。 例如,“16”转换为二进制为 ( 00010000 ) 2 (0001 0000)_2 (00010000)2,其等效的十六进制为 ( 10 ) 16 (10)_{16} (10)16。 类似地,17 的十六进制数相当于 ( 11 ) 16 (11)_{16} (11)16,按照相同的过程,可以将十六进制数扩展为所需的值。 使用上表,任何二进制数都可以轻松转换为其等效的十六进制数。 例如,16 位数字 ( 1010110001111011 ) 2 (1010 1100 0111 1011)_2 (1010110001111011)2转换为十六进制为 ( A C 7 B ) 16 (AC7B)_{16} (AC7B)16。 与 16 位长的 0 和 1 行相比,编写和记住这个十六进制数要容易得多。 因此,最好在十六进制计数系统中写入二进制数,以避免错误等。

在数字系统中,特别是在编写程序时,在最高有效数字后面使用“#”(前缀)符号来表示十六进制值。 例如,上面的十六进制数(AC7B16)也可以写成(#AC7B)。

3、以十六进制计数

如上所述,可以通过使用附加的有效数字来扩展十六进制数的值。 从“0”开始的单个十六进制数字最多可以计数到 # F ( 15 × 1 6 0 = 1 5 10 ) \#F (15 \times 16^0 = 15_{10}) #F(15×160=1510),扩展到两位数字可以计数到 # F F ( 15 × 1 6 1 + 15 × 1 6 0 = 25 5 10 ) \#FF (15 \times 16^1+15 \times 16^0 = 255_{10}) #FF(15×161+15×160=25510)。 同样,#FFF 和 #FFFF 分别可以计数到 409510 和 6553510。 下表列出了十六进制数中每个数字的权重。

在这里插入图片描述

4、二进制数补零

由于二进制数被分成由 4 位组成的组,以便确定其等效的十六进制数。 这需要一个由四 (4) 的倍数位组成的二进制数,例如 4、18、12、16 和 20 等。但是,在处理二进制数时情况可能并非如此,并且二进制数的位长度可能会有所不同。 解决方案是从最低有效位 (LSB) 开始将二进制数以 4 位为一组进行分割,最终,我们将在末尾留下少于 4 位的数据。 前导零被添加到剩余位中,将其长度扩展至 4 位。 这组 4 位构成了十六进制数的最高有效位 (MSD)。 下表中,非标准13位二进制数(1 0101 1101 101010)通过添加前导零转换为16位(可被4整除)二进制数,然后确定其等效的十六进制数。

在这里插入图片描述

在上面的示例中,13 位数字需要将具有零值的 3 位添加到最左侧,才能使其成为 16 位二进制数。 同样,10 位二进制数需要添加六 (6) 个零位。 使用十六进制数可将二进制数的长度减少四 (4) 倍,并且从二进制到十六进制或从十六进制到二进制的转换既简单又快捷。

5、十六进制到十进制转换

十六进制到十进制值的转换是利用上一篇文章中介绍的加权数字和的方法来实现的。 在以下示例中,十六进制数 (#7DE5) 转换为十进制数。

在这里插入图片描述

6、十进制到十六进制转换

从十进制到十六进制的转换需要应用重复除以16的方法,该方法在上一篇文章中用于将十进制数转换为其等效的二进制值。 在以下示例中,使用相同的十进制数 ( 238 ) 10 (238)_{10} (238)10 来获取其等效的十六进制数。

在这里插入图片描述

7、二进制到十六进制转换示例

8 位二进制数 ( 11011001 ) 2 (11011001)_2 (11011001)2到十六进制数的转换如下所示。

在这里插入图片描述

8、十六进制转二进制和十进制示例

下面以 #8C4A 与其等效的二进制和十进制数的转换为例。

在这里插入图片描述

9、总结

  • 十六进制数字使用以 16 为基数的编号系统,其数字可以有从 0 到 15 的十六 (16) 个数字。在十六进制中,大写字母:A、B、C、D、E 和 F 相当于 10 、 11、 12、 13、 14 和 15。
  • 在十六进制数中,每个数字都是一组或一组 4 位。 通过将二进制数分成 4 位组,然后根据每个 4 位组的值,为每个组分配从“0”到“F”的等效十六进制值,即可获得十六进制中的二进制数的等效值。
  • 二进制数可能需要在最左侧(最高有效位)添加前导零以形成 4 位组。
  • 十六进制数通过使用“16”作为下标或最左侧的前缀(#)来表示,例如 2A7E16 或#2A7E。
  • 可以使用加权数字和的方法将十六进制数转换为十进制数。 从十进制到十六进制的转换需要应用重复除以16的方法。
  • 十六进制数可用于表示较大的二进制数。 十六进制数将其等效二进制数的长度减少了四倍 (4)。 此外,从二进制到十六进制以及从十六进制到二进制的转换既简单又快捷。

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

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

相关文章

pcl--第八节 点云配准数学原理

学习目的: 能够大致看懂技术算法的论文(理论理解能力)能够将论文和代码对应起来(代码追踪能力)知道常见算法函数的代码实现方式(算法实现能力) 注意!不要求能够推导、证明算法论文…

导航菜单布局

制作包含logo、菜单、按钮的3分离布局菜单 完成效果 准备html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

Multisim14.0仿真(二十)74LS161 4位同步二进制加法计数器

一、仿真原理图&#xff1a; 二、仿真效果图&#xff1a;

C/C++内存管理相关知识点

1.内存分布 C/C将内存大体上分为四个区域&#xff1a;栈区、堆区、静态区&#xff08;数据段&#xff09;、常量区&#xff08;代码段&#xff09;。 栈区&#xff1a;用来存储函数调用时的临时信息的结构&#xff0c;存放为运行时函数分配的局部变量、函数参数、返回数据、返…

解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制

一、引言 癌症是全球范围内健康领域的一大挑战&#xff0c;早期预测和诊断对于提高治疗效果和生存率至关重要。机器学习在癌症预测中发挥了重要作用&#xff0c;可以从临床数据中学习并构建癌症预测模型&#xff0c;帮助医生进行早期检测和干预&#xff0c;提高患者的生活质量和…

kubernetes集群证书过期启动失败问题解决方法

1、问题现象 执行kubectl命令异常报告 [rootk8s-master1 ~]# kubectl get node The connection to the server 192.168.227.131:6443 was refused - did you specify the right host or port? [rootk8s-master1 ~]# 查看etcd的日志&#xff0c;报错信息如下 {"level&…

服务器性能测试监控平台export+prometheus(普罗米修斯)+grafana搭建

1. export 数据采集工具 简介&#xff1a; export是prometheus是的数据采集组件的总称&#xff0c;它可以将采集到的数据转为prometheus支持的格式 node_export: 用来监控服务器硬件资源的采集器&#xff0c;端口号为9100mysql_export: 用来监控mysql数据库资源的采集器&…

【Java 基础篇】Java线程:volatile关键字与原子操作详解

在多线程编程中&#xff0c;确保线程之间的可见性和数据一致性是非常重要的。Java中提供了volatile关键字和原子操作机制&#xff0c;用于解决这些问题。本文将深入讨论volatile关键字和原子操作的用法&#xff0c;以及它们在多线程编程中的重要性和注意事项。 volatile关键字…

vue项目升级webpack

vue项目升级webpack 目录 1. vue项目中影响webpack版本的是什么 2.理解package.json中库前缀^和~区别 3.升级webpack4到5操作 1. vue项目中影响webpack版本的是什么 答案是&#xff1a;vue/cli-service版本 2.理解package.json中库前缀^和~区别 x.y.z x代表大版本&#xf…

ES修改字段的数据类型

-- mysql修改字段数据类型语句 ALTER TABLE 表名 MODIFY COLUMN 列名 修改的字段类型;-- hive 修改字段数据类型语句 ALTER TABLE 表名 CHANGE COLUMN 列名 修改的字段类型;--es修改字段数据类型语句无法通过一个语句进行修改。思路&#xff1a; 1、对修改字段重新建修改类型的…

Baichuan2大模型本地部署

作为今年九月份开源的一个中午大语言模型&#xff0c;Baichuan2已经在各个维度上取得了亮眼的结果&#xff0c;效果已经超过了当前火热的ChatGLM2-6B&#xff0c;可以通过自然语言交互的方式为你提供以下服务&#xff1a; 提供知识&#xff1a;我可以回答各领域的问题&#xf…

2023年科技核心目录已更新,24年选择刊物别选错!这些医药类期刊建议收藏!

2023年科技核心目录已更新&#xff0c;医药类期刊有这些&#xff08;部分&#xff09;&#xff0c;编码和期刊名称都给大家整理出来了。点常笑医学网查看全部科技核心期刊目录。 G218 ACTA PHARMACEUTICA SINICA B G001 ACTA PHARMACOLOGICA SINICA G780 CANCER BIOLOGY &am…

交叉编译错误:小心符号链接

交叉编译在进行到链接环节时出现找不到库文件的错误&#xff0c;如下&#xff1a; 一般来说&#xff0c;链接时出现库查找不到则需要将库路径添加到link_directories或者target_link_directories, 这里说查找不到libblas.so.3和liblapack.so.3&#xff0c;那么查找这两个库的路…

9.2 【MySQL】独立表空间结构

9.2.1 区&#xff08;extent&#xff09;的概念 对于16KB的页来说&#xff0c;连续的64个页就是一个 区 &#xff0c;也就是说一个区默认占用1MB空间大小。不论是系统表空间还是独立表空间&#xff0c;都可以看成是由若干个区组成的&#xff0c;每256个区被划分成一组。画个图…

视频文本检索(ICCV 23):Unified Coarse-to-Fine Alignment for Video-Text Retrieval

论文作者&#xff1a;Ziyang Wang,Yi-Lin Sung,Feng Cheng,Gedas Bertasius,Mohit Bansal 作者单位&#xff1a;UNC Chapel Hill 论文链接&#xff1a;http://arxiv.org/abs/2309.10091v1 项目链接&#xff1a;https://github.com/Ziyang412/UCoFiA 内容简介&#xff1a; …

怎么在OPPO手机桌面上添加文字?便签桌面插件添加教程

很多年轻女性在选择手机时&#xff0c;都比较青睐于设计时尚靓丽、轻薄且续航好、系统流畅、拍照清晰的OPPO手机&#xff0c;并且OPPO为不同的用户提供了高中低不同价格档位的手机型号&#xff0c;能够满足绝大多数女性消费者的使用需求。 不过有不少OPPO手机用户表示&#xf…

Linux 打包压缩命令

目前 linux 中打包和压缩的命令很多&#xff0c;最常用的方法有 zip、gzip、bzip2、xz、tar 1.zip 压缩包 //制作 //-r 递归 表示将指定的目录下的所有子目录以及文件一起处理 zip -r public.zip public//解压 unzip public.zip unzip public.zip -d dir//查看 unzip -l publi…

ubuntu 18.04 搭建isaacgym学习环境,并运行legged_gym

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装anaconda二、使用conda创建python版本为3.8的虚拟环境三、安装pytorch四、isaac-gym下载安装五、安装legged_gym总结 前言 系统&#xff1a;ubuntu18.…

WebGL HUD(平视显示器)

目录 HUD&#xff08;平视显示器&#xff09; 如何实现HUD 示例程序&#xff08;HUD.html&#xff09; 示例程序&#xff08;HUD.js&#xff09; 代码详解 在网页文字上方显示三维物体 代码详解 HUD&#xff08;平视显示器&#xff09; 平视显示器&#xff08;head…

第3章 MongoDB数据库操作<练习>

1. 创建数据库&#xff0c;名为zhangsan &#xff08;zhangsan修改为自己的姓名全 拼&#xff09; use wuweixian db.createCollection("wwx") 2. 批量插入多条文章评论用于测试 db.wwx.insertMany([ {"_id":"1","articleid":"…