汇编语言中 ascii码转换成二进制数的原理问题

做到了一个题要求完成ascii码转换成二进制数功能,答案说思路是先将ax中两位ascii码先转换成数字,然后ah*10+al,不太理解这个思路的用意或者说是原理,有谁可以... 做到了一个题要求完成ascii码转换成二进制数功能,答案说思路是先将ax中两位ascii码先转换成数字,然后ah*10+al,不太理解这个思路的用意或者说是原理,有谁可以解释一下? 展开
 我来答
一骑当后
推荐于2017-09-30 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40299 获赞数:306419
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
  举个例子 数字1 的ASCII是 31 的二进制是“1111”;
  而数字1的二进制只是 “1”;
  ASCII码是一种编码方式,如果取得一个“1111”的ASCII码,那么系统就会自动解析为数字1。
  数据类型表示数字的类型如int,double 等类型在内存中是以换算的二进制存的,而字符类型等在内存中是以ASCII存的,这个通过查ASCII得到相应的二进制,然后存放于内存。
  比如:32767 当作int型 为整数,利用除2取余法得到相应的二进制数存于内存(本来应该存补码,但是正数的补码和原码相同)所占的内存空间跟其对应的数据类型有关,可能还与机器有关,
  而32767 当作字符 即“32767”,这时应该分解‘3’,‘2’,‘7’,‘6’,‘7’,然后查对应的ASCII码 对应的值为:0011001 00110010 00110111 00110110 00110111 所以在存放的即为该二进制的组合,且占5个字节的内存。
nereus78e904
2014-10-25 · TA获得超过1.5万个赞
知道大有可为答主
回答量:5463
采纳率:90%
帮助的人:1891万
展开全部
起先,ax中存放的是两位十进制数的ASCII码,也就是说,ah和al中各自存放有ASCII码为30h~39h的某一个码值。你先将ax减去3030h,将其ASCII码转换成两个十进制数码,然后将存放十位数的ah乘上10,再加上存放个位数的al就变成一个两位的十进制数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wind2031
2014-10-25 · TA获得超过137个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:186万
展开全部

以12为例AH =31h  AL=32h

  1. 去ASCII码 AH-'0' ,AL-'0' =>AH=1,AL=2,此时AX=102h,并不是12

  2. 经AH*10+AL计算后就得12 了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可轩163
2014-10-25 · TA获得超过1.3万个赞
知道大有可为答主
回答量:4824
采纳率:88%
帮助的人:1718万
展开全部
例如,大写字符‘A’ 的ASCII码 :
AH = 06d
AL = 05d
AH*10d + AL = 06d*10d +05d = 60d+05d = 65d = 41h = 100 0001B
追问
那么转换后的10进制数是怎样就转换成2进制数呢?
追答
10进制转二进制--------逐次除以2取余数,直至商为零。
各次的余数由先至后的排列,即二进制数由低位到高位的排列。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式