关于进制转换问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:35:19
首先看看下面这段话:
假设您的名字是Shadow,换算成16进位则是[53 68 61 64 6F 77]
现在S是16进制53,它是这么算出来的:53(16)=5*16+3=87=s
现在问题来了,这是知道结果以后才可以很简单的算出来,那么写这段话的人是怎么把Shadow转换成16进制53 68 61 64 6F 77的呢?
请教~~

我没积分了,只为学习。请您指教

准确说,你所提的问题不是数制转换问题,而是字符所对应的ASCII码问题,你只需要将常用的字符的ASCII码的十六进制形式记住就可以了,比较有规律,比十进制形式好记。
字符'0'~'9'的ASCII为30H~39H
大写字母'A'~'Z'的ASCII为41H~5AH
小写字母'a'~'z'的ASCII为61H~7AH

你得先知道每个字母对应的ASCII码,就是它的10进制数,这个背一个A和a对应的就可以推了,不过我现在忘记了,又懒的起来拿书,就不具体写了。
知道了shadow每个字母对应的ASCII码之后,就可以列出来6个10位数,然后用10-》16进制就可以得出16进制的shadow了。
这完全就是因为shadow的每个字母可以用ASCII码表示,不过因为这样就说shadow可以转成16进制我还是觉得这个命题太牵强了拉,呵呵
10进制怎么转16进制你应该会吧?

楼上的朋友说的不错,补充一点,ascII码中我记得a应该是97,A应该是65,两者相差32。
10进制转换为16进制就是采用相处取余的方法,具体可以参照10进制转换为2进制的方法。