如何将用户的任何字符输入转换为相应的十进制值?我刚开始就遇到了麻烦。
该计划必须实现以下目标:
程序接受键盘中的字符。
如果字符是数字('0'到'9'): a)将字符转换为其对应的十进制值。换句话说,'0'变为零,'1'变为1,......'9'变为9.让我们称之为值R(对于“运行长度”)。 b)等待另一个角色(使用GETC)。 c)将该角色的R副本打印到控制台。 ) d)返回步骤1.
否则,如果字符为Enter / Return(ASCII#10):将换行符(ASCII#10)打印到控制台,然后返回步骤1.
否则,如果角色是其他任何内容,则暂停该程序。
答案 0 :(得分:0)
您将十进制数字转换为数字减去' 0' (= 0x30)来自它。 对于十六进制数字(' A'到' F'): 如果字符大于' @',则从中减去0x37(' A' - > 0x0a)。 对于十六进制数字(' a'到' f'): 如果该值仍然大于15,则从中减去0x20 或者您可以使用表格进行映射。 256字节不是bery大表。