汇编语言编程问题 60
键盘输入一个算术表达式,计算表达式的值,以十进制、十六进制、及二进制格式输出结果。其中表达式中包含的整数均为十进制非符号数(其值<pow(2,32));表达式中包含的运算...
键盘输入一个算术表达式,计算表达式的值,
以十进制、十六进制、及二进制格式输出结果。
其中表达式中包含的整数均为十进制非符号数(其值 < pow(2,32));
表达式中包含的运算符包括+、*两个;
计算时不考虑运算符的优先级,即一律从左到右计算;
计算过程中若有值超过32位,则一律忽略超过32位的部分,
故计算的最终结果不会超过32位。
例如:
输入:
1234*5678+98765*54321+12345678
输出:
1234*5678+98765*54321+12345678=
3733613191
DE8A6A87h
1101 1110 1000 1010 0110 1010 1000 0111B
真的是急求,采纳前保证追加到100分…… 展开
以十进制、十六进制、及二进制格式输出结果。
其中表达式中包含的整数均为十进制非符号数(其值 < pow(2,32));
表达式中包含的运算符包括+、*两个;
计算时不考虑运算符的优先级,即一律从左到右计算;
计算过程中若有值超过32位,则一律忽略超过32位的部分,
故计算的最终结果不会超过32位。
例如:
输入:
1234*5678+98765*54321+12345678
输出:
1234*5678+98765*54321+12345678=
3733613191
DE8A6A87h
1101 1110 1000 1010 0110 1010 1000 0111B
真的是急求,采纳前保证追加到100分…… 展开
2个回答
展开全部
数字,如果不超过 16 位数,还好算一些。
题目虽然要求,计算不超过 32 位,好像,是简化了运算。
但是 32 位乘以 32 位时,还是要算出 64 位的结果,
然后再保留 32 位,准备以后进行其它的计算。
如果不计算出完整的 64 位结果,截取 32 位时,往往就会有误差。
这样的要求,对于编程的工作量,一点也没有减少,反而,还要多费了不少心思。
程序太长了,发表在百度空间:
http://hi.baidu.com/do_sermon/item/1460b9759d00f9397044237d
程序已经经过运行检验,输入、输出,完全符合题目要求。
题目虽然要求,计算不超过 32 位,好像,是简化了运算。
但是 32 位乘以 32 位时,还是要算出 64 位的结果,
然后再保留 32 位,准备以后进行其它的计算。
如果不计算出完整的 64 位结果,截取 32 位时,往往就会有误差。
这样的要求,对于编程的工作量,一点也没有减少,反而,还要多费了不少心思。
程序太长了,发表在百度空间:
http://hi.baidu.com/do_sermon/item/1460b9759d00f9397044237d
程序已经经过运行检验,输入、输出,完全符合题目要求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询