发布网友 发布时间:2022-05-13 23:45
共3个回答
热心网友 时间:2023-11-08 16:25
16进制有数字0~9,还有a~f,一共16个数码。转换的时候,先统一加上30h,然后要判断是数字还是字母,数字的ASCII码和字母的ASCII码可不是一样的哦。所以和3ah比较。如果是数字,不变;如果是字母,再加上7h(你的程序是用大写字母表示,若是小写字母,那应该再加上27h)热心网友 时间:2023-11-08 16:26
数符在输出时是按其ASIIC码在字库中找到代码后输出的。16进制有数字0-9,还有字母A-F,一共16个数符。数字0-9对应的ASIIC码为30H-3AH,字母A-F对应的ASIIC码为42H-48H(A与9之间相差7)。先将转换所得的数值加30H,然后判断是数字还是字母,如果值不大于3AH则该位16进制数是数字0-9,如大于3AH则该位16进制数是字母A-F,其ASIIC码应该加上7(若是小写字母a-f,则应该加上27H)。热心网友 时间:2023-11-08 16:26
加30H是为了转化为ascii码,和3AH比较是为了判断对应的是否是A…F的十六进制,而加7H,则是为了转化字符A…F的ASCII码值。