在ASCLL上掉过的坑

脂习
• 阅读 937

如果对ASCLL不了解的话,容易在进制转换以及由ASCLL值输出对应的ASCLL码(控制字符)时出现错误,由于本博主常犯错,故写下此篇避免错误的再犯。
下面列出常见控制字符及其对应的ASCLL值(往后的自己推理)

‘0’:48
‘9’:57
‘A’:65
‘Z’:90
‘a’:97
‘z’:122

如果是直接输出两个字符相减或相加,输出的值会是运算后的字符的ASCLL值,而不是对应字符,如cout<<‘a’-‘0’;输出:49
但如果是这样的cout<<char(‘F’+1),输出的便会是:G
cout<<char(‘F’-‘A’+3),输出的也会是一个字符

如果是高进制之间的转换呢,
例如在16进制中’A’对应的值是10

‘B’:11
‘C’:12
‘D’:13
‘E’:14
‘F’:15

如果在运算时得到一个大于等于10的数num,想将它转成对应字符,可通过char(num+‘A’-10)的方法得到。
反之有字符ch得到对应数字可以:ch-‘A’+10;

大概就这些了,希望我的总结能够对大家有帮助(更加清楚的理解概念)

点赞
收藏
评论区
推荐文章
浅梦一笑 浅梦一笑
4年前
Python 练手 &quot;小例子&quot; 闯关60题!
一、数字1求绝对值绝对值或复数的模In1:abs(6)Out1:62进制转化十进制转换为二进制:In2:bin(10)Out2:'0b1010'十进制转换为八进制:In3:oct(9)Out3:'0o11'十进制转换为十六进制:In4:hex(15)Out4:'0xf'3整数和ASCII互
Wesley13 Wesley13
3年前
java中比较两个时间的差值
项目背景1.某篇文稿的发布时间是publishDate,例如:2020072118:00:41。2.现要求判断该篇文稿的发布时间是否在近30天之内。publicstaticlongdayDiff(DatecurrentDate,DatepublishDate){LongcurrentTimecurrentDat
DaLongggggg DaLongggggg
4年前
python刷题-进制转换
十六进制转八进制问题描述  给定n个十六进制正整数,输出它们对应的八进制数。输入格式  输入的第一行为一个正整数n(1<n<10)。  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式  输出n行,每行为输入对应的八进制正整数。  【注意】  输入的十六进制数不会有
Stella981 Stella981
3年前
PHP代码静态分析工具PHPStan
<blockquote最近发现自己写的PHP代码运行结果总跟自己预想的不一样,排查时发现大多是语法错误,在运行之前错误已经种下。可能是自己粗心大意,或者说<codephpl</code检测太简单,不过的确是有一些语法错误埋藏得太深(毕竟PHP是动态语言),那么有没有办法,在代码代码正式运行之前,把语法错误全找出来呢?</blockquote<p
Wesley13 Wesley13
3年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Wesley13 Wesley13
3年前
MySQL总结(十一)子查询
!(https://oscimg.oschina.net/oscnet/upa344f41e81d3568e3310b5da00c57ced8ea.png)子查询1\.什么是子查询需求:查询开发部中有哪些员工selectfromemp;通
Wesley13 Wesley13
3年前
ASCII对照表
ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符0NUT32(space)64@96、1SOH33!65A97a2STX34"66B98b3ETX3567C99c4
Easter79 Easter79
3年前
SpringMvc接受特殊符号参数被转义
WEB开发时,在前端通过get/post方法传递参数的时候 如果实参附带特殊符号,后端接收到的值中特殊符号就会被转义例如该请求: http://localhost:10001/demo/index.do?name张三(1)注:中文()不会出现此种情况后台就收到的实际name值为:  张三&40;1&41;&40;其实为h
Stella981 Stella981
3年前
Linux学习笔记01
一、LINUX文件类型\:普通文件:纯文本文件(ascll)配置文件二进制文件(binaryfile):命令数据格式文件(date):/var/log/wtmpd:目录文件l:链接文件设备文件(/dev):b:block块设备c:character字符集设备:一次性读取,按
Stella981 Stella981
3年前
Noark入门之异步事件
引入异步事件主要是为了各模块的解耦,每当完成一个动作时,向系统发布一个事件,由关心的模块自己监听处理,可选择同步处理,异步处理,延迟处理。何时发布事件,当其他模块关心此动作时<br比如获得道具时,任务系统模块要判定完成进度,BI模块需要上报等等都可以监听此事件,已达模块解耦0x00事件源一个实现xyz.noark.core.event
Wesley13 Wesley13
3年前
C语言基础之ASCII编码(3)
什么是字符集和字符编码?前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识0和1两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符。可想而知,特定的文字必然对应着固定的二进制,否则在转换时将发生混乱。那么,怎样将文字与二进制对应起来
脂习
脂习
Lv1
看不清的挽留,正如你执着地向前走
文章
3
粉丝
0
获赞
0