嵌入式-C语言-ASCII码(字符)转换二进制和十六进制

一:ASCII码是什么?

问:ASCII码是什么?
答:ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)是一种用于表示字符的标准编码系统。它使用7位或8位二进制数字来表示128或256个不同的字符,包括字母、数字、标点符号、控制字符以及一些特殊字符。

最早的ASCII码标准使用7位二进制数,共有128个字符,其中包括基本拉丁字母、数字0-9、标点符号等。后来扩展的ASCII码(称为扩展ASCII码或ASCII扩展字符集)使用了8位二进制数,共有256个字符,包括更多的字符和符号,如特殊字符、国际字符、图形符号等。

每个字符在ASCII码中都有对应的唯一的数值表示,这个数值可以用二进制、十进制或十六进制表示。例如,字母"A"的ASCII码为65(或0x41),而数字"0"的ASCII码为48(或0x30)。通过ASCII码,计算机可以对字符进行存储、传输和处理。

二:ASCII标准参考表

在这里插入图片描述
我们看到ASCII表是由控制字符和打印字符组成,其中她们的符号位置由高四位和低四位组成(高高高高 低低低低)。

比如:‘a’=97,怎么详细解读这句话?
答:字符‘a’是打印字符,它的十进制数是97,二进制数是0110 0001,十六进制数是0x61,这时候自己计算的二进制数可以对比上面表格的二进制数是否一致?

三:ASCII码(字符)转换二进制和十六进制

现在来解释如何在不同进制之间转换这个 ASCII 码(97):

十进制转二进制:将十进制数值 97 转换为二进制数值。97 ÷ 2 的商为 48,余数为 1;48 ÷ 2 的商为 24,余数为 0;24 ÷ 2 的商为 12,余数为 0;12 ÷ 2 的商为 6,余数为 0;6 ÷ 2 的商为 3,余数为 0;3 ÷ 2 的商为 1,余数为 1;1 ÷ 2 的商为 0,余数为 1。将余数从最后一步开始排列,即可得到二进制数值 1100001。十进制转十六进制:将十进制数值 97 转换为十六进制数值。97 ÷ 16 的商为 6,余数为 1;6 ÷ 16 的商为 0,余数为 6。将余数转换为相应的十六进制符号,即可得到十六进制数值 0x61。二进制转十进制:将二进制数值 1100001 转换为十进制数值。从右往左,分别乘以 2 的相应幂次(从 0 开始),再将结果相加。即:1×2^6 + 1×2^5 + 0×2^4 + 0×2^3 + 0×2^2 + 0×2^1 + 1×2^0 = 64 + 32 + 1 = 97。十六进制转十进制:将十六进制数值 0x61 转换为十进制数值。分别将 "6" 和 "1" 转换为对应的十进制数值,即可得到十进制数值 97。

所以,无论是二进制、十进制还是十六进制,它们都是可以相互转换的,只需要按照相应的计算规则进行转换即可。

道友:假如试都不试一下,那么一切都会是老样子

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

poium测试库之JavaScript API封装原理

为什么要封装JavaScript的API? 因为有些场景下Selenium提供的API并不能满足我们需求。比如,滑动浏览滚动条,控制元素的显示/隐藏,日历控件的操作等,都可以通过JavaScrip实现,而且Selenium为我们提供了 exe…

C#之反编译之路(一)

本文将介绍微软反编译神器dnSpy的使用方法 c#反编译之路(一) dnSpy.exe区分64位和32位,所以32位的程序,就用32位的反编译工具打开,64位的程序,就用64位的反编译工具打开(个人觉得32位的程序偏多,如果不知道是32位还是64位,就先用32位的打开试试) 目前只接触到wpf和winform的桌…

leetcode——杨辉三角

https://leetcode.cn/problems/pascals-triangle/ 杨辉三角: 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 核心思想:找出杨辉三角的规律,发…

实验笔记之——服务器链接

最近需要做NeRF相关的开发,需要用到GPU,本博文记录本人配置服务器远程链接的过程,本博文仅供本人学习记录用~ 连上服务器 首先先确保环境是HKU的网络环境(HKU AnyConnect也可)。伙伴已经帮忙创建好用户(第一次登录会提示重新设置密码)。用cmd ssh链接ssh -p 60001 <u…

window服务器thinkphp队列监听服务

经常使用linux的同学们应该对使用宝塔来做队列监听一定非常熟悉&#xff0c;但对于windows系统下&#xff0c;如何去做队列的监听&#xff1f;是一个很麻烦的事情。 本文将通过windows系统的服务来实现队列的监听。 对于thinkphp6 queue如何使用&#xff0c;不再赘述。其它系…

【总线接口】1.以Xilinx开发板为例,直观的认识硬件板卡和接口

初接触硬件&#xff0c;五花八门的总线、接口一定会让你有些疑惑&#xff0c;我尝试用一系列文章来解开你的疑惑 系列文章 【总线接口】1.以Xilinx开发板为例&#xff0c;直观的认识硬件接口 【总线接口】2.学习硬件这些年接触过的硬件接口、总线 大汇总 【总线接口】…

uniapp:签字版、绘画板 插件l-signature

官方网站&#xff1a;LimeUi - 多端uniapp组件库 使用步骤&#xff1a; 1、首先从插件市场将代码下载到项目 海报画板 - DCloud 插件市场 2、下载后&#xff0c;在项目中的uni_modules目录&#xff08;uni_modules优点&#xff1a;不需要import引入&#xff0c;还可以快捷更新…

论文阅读:基于MCMC的能量模型最大似然学习剖析

On the Anatomy of MCMC-Based Maximum Likelihood Learning of Energy-Based Models 相关代码&#xff1a;点击 本文只介绍关于MCMC训练的部分&#xff0c;由此可知&#xff0c;MCMC常常被用于训练EBM。最后一张图源于Implicit Generation and Modeling with Energy-Based Mod…

小红书 X WSDM 2024「对话式多文档问答挑战赛」火热开赛!

基于大语言模型&#xff08;LLM&#xff09;的对话问答机器人&#xff0c;已经成为当前人工智能领域学术界和工业界共同关注的的热门研究方向之一。在对话过程中&#xff0c;为大模型引入搜索结果&#xff0c;进行检索增强的生成&#xff08;Retrieval Augmented Generation&am…

MyBatis-Plus框架学习笔记

先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;❤️ ❤️ ❤️ 文章码字不易&#xff0c;如果喜欢可以关注我哦&#xff01; ​如果本篇内容对你有所启发&#xff0c;欢迎访问我的个人博客了解更多内容&#xff1a;链接地址 MyBatisPlus &#xff08;简称…

接口测试用例编写与模板

一、简介 接口测试区别于传统意义上的系统测试&#xff0c;下面介绍接口测试用例和接口测试报告。 二、接口测试用例模板 功能测试用例最重要的两个因素是测试步骤和预期结果&#xff0c;接口测试属于功能测试&#xff0c;所以同理。接口测试的步骤中&#xff0c;最重要的是…

嵌入式硬件电路原理图之跟随电路

描述 电压跟随电路 电压跟随器是共集电极电路&#xff0c;信号从基极输入&#xff0c;射极输出&#xff0c;故又称射极输出器。基极电压与集电极电压相位相同&#xff0c;即输入电压与输出电压同相。这一电路的主要特点是&#xff1a;高输入电阻、低输出电阻、电压增益近似为…

【单片机】延迟程序&延迟子程序的设计(入门)

前言 大家好吖&#xff0c;欢迎来到 YY 滴小小知识点系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机知识点的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C1…

动态规划(不同路径1,不同路径2,整数拆分)

62.不同路径 力扣题目链接(opens new window) 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。…

Linux操作系统——进程控制(一) 进程创建和进程终止

进程创建 fork函数 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;自进程中返回0&#xff0c;父进程返回子进程id&#xff…

数据结构和算法-交换排序中的冒泡排序(过程 代码实现 算法效率 稳定性 适用链表?)

文章目录 总览冒泡排序冒泡&#xff1f;啥是冒泡排序冒泡排序过程算法实现算法性能分析稳定性冒泡排序是否适用于链表 小结 总览 冒泡排序 冒泡&#xff1f; 自然界的冒泡 啥是冒泡排序 冒泡排序过程 此时序列要求递增的 首先比较27和49&#xff0c;发现符号递增序列&…

【Linux Shell】6. echo 命令

文章目录 【 1. 显示普通字符串 】【 2. 显示转义字符 】【 3. 显示变量 】【 4. 显示换行 】【 5. 显示不换行 】【 6. 显示命令执行结果 】 Shell 的 echo 指令用于字符串的输出。命令格式&#xff1a; echo string【 1. 显示普通字符串 】 #!/bin/bashecho "It is a …

全程云OA ajax.ashx SQL注入漏洞复现

0x01 产品简介 全程云OA为企业提供日常办公管理、公文管理、工作请示、汇报、档案、知识体系、预算控制等26个功能,超过100多个子模块。为企业内部提供高效、畅通的信息渠道,同时也能大力推动公司信息系统发展,提高企业的办公自动化程度和综合管理水平,加快企业信息的流通…

Kubernetes二进制部署 单节点

一、环境准备 k8s集群master1&#xff1a;192.168.229.90 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群node1: 192.168.229.80 kubelet kube-proxy docker flannel k8s集群node2: 192.168.229.70 kubelet kube-proxy docker flannel 至少2C2G 常见的k…