兰陵月 发表于 2016-11-30 22:02:13

十六进制数所对应的ASCII码转换为十六进制数的理解

本帖最后由 兰陵月 于 2016-11-30 22:08 编辑


对题目的意思一直没有理解,可能是脑袋当机了,麻烦哪位给我讲解一下题目的意思——什么叫十六进制数所对应的ASCII码转成十六进制数?被绕了。。。。。

来自:《80X86汇编语言程序设计教程》(杨季文等编著)
第三章汇编语言及其程序设计初步
3.5分支程序设计例3

下面是详细的题目
第一页

第二页

第三页

人造人 发表于 2016-11-30 23:08:12

十六进制数所对应的ASCII码转成十进制数
你完全可以这样理解,因为十六进制数与十进制数没有本质上的区别,不管是多少进制的数,指的都是同一个数,只是进制不同而已
我是真的理解题意了,就是我不知道怎么给你讲才好(这个的确不好讲)

zealstar 发表于 2016-12-1 09:58:04

看第一页的思路模式本以为大概就能懂吧;
意思是将输入的“字符”或“字符串”输出为ASCII码对应的16进制数。
例子:
比如我输入字符“1”(机器内读入的实际上是31h),那么按思路,输出结果是内存中的01(什么逻辑……){:10_258:}


比如我输入字符“A”(机器内读入的实际上是41h),按照思路图,那么输出的应该是内存中的00{:10_247:}

至此,我真的不懂了……{:10_251:}

fsd82ht 发表于 2016-12-1 11:13:44

个人观点:题目就是要你把十六进制字符串它所相对应的字母的ASCII码转成十进制数,储存在XX段内存中

xieglt 发表于 2016-12-1 12:01:07

本帖最后由 xieglt 于 2016-12-1 12:03 编辑

这个题目出得实在是.估计只有出题者自己能读懂,而且,并没有什么实用价值.
但是他给的图是比较清楚地表达了题目的意思.
大意如下:
ASCII 字符共有256个(0 - 255)
可以用来表示十六进制的字符有
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,a,b,c,d,e,f
共22个字符
如果输入字符是这22个字符中的一个,则计算出它的16进制数
1、如果输入为字符'0' - '9' 则输出为0-9
   计算公式为:输入字符的ASCII码 - '0'的ASCII码(字符'0'的ASCII码为0X30)
2、如果输入字符为 'A'- 'F' 则输出为10 - 15
   计算公式为:输入字符的ASCII码 - 'A'的ASCII码 + 10
3、如果输入字符为 'a' - 'f' 则输出为10 - 15
   计算公式为:输入字符的ASCII码 - 'a'的ASCII码 + 10
4、如果输入字符不属于1,2,3的任意一种情况,则输出为 -1

兰陵月 发表于 2016-12-1 12:13:16

xieglt 发表于 2016-12-1 12:01
这个题目出得实在是.估计只有出题者自己能读懂,而且,并没有什么实用价值.
但是他给的图是比较清楚地表达了 ...

我TM终于懂了~~艹~~艹~~艹~~{:10_262:}{:10_262:}

slmdunk 发表于 2016-12-2 21:26:43

兰陵月 发表于 2016-12-1 12:13
我TM终于懂了~~艹~~艹~~艹~~

语文 不好{:5_109:}
页: [1]
查看完整版本: 十六进制数所对应的ASCII码转换为十六进制数的理解