作业帮 > 综合 > 作业

从键盘输入一个3位的十进制无符号整数,请分别用二进制、八进制和十六进制形式输出

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/14 14:07:50
从键盘输入一个3位的十进制无符号整数,请分别用二进制、八进制和十六进制形式输出
《微型计算机原理及应用 》 编程
从键盘输入一个3位的十进制无符号整数,请分别用二进制、八进制和十六进制形式输出
好久没写过汇编的程序了,代码估计我现在做不出来,能告诉你下原理~
把3位十进制分别读入后,存到内存的是相应符号的ASC2码,将这个符号asc码转成数字的asc码 比如9 存进去的是39H 要变成 1001,也就是9h,比如存入999 就通过10进制的计算可以求出来 转成2进制的asc码 存成一个16位的acs码
要输出2进制的时候每次读最后一位,之后有个循环移位的命令,总共循环12次 将取出来的值变成可以输出的字符asc码 1---->31h 0----->30h 一个个输出出来就可以了
八进制的,从最后一位开始读,每3个二进制存成一个,将他变成对应的十进制,即 001 --->1,011----> 3,110-->6,100---> 4 即4631最后的输出,将每个数字转成相应的可输出二进制,之后挨个输出出来,记得顺序 4输出是第一个,但却是最后算出来的~
16进制的,从最后一位读,每4位存成一个,之后将得到的字符转成可以输出的字符asc码
之后挨个输出,注意顺序就可以了
相应的asc码转换可以参考那本书后面的附录,里面有各个符号对应的asc码,进行简单的计算就能够得到~
希望能对你有点启发,要是1年前问我,估计很快就能做出来了,就是很久不用了,一直用C++来着,真是对不住啊~