首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >汇编中的算术运算

汇编中的算术运算
EN

Stack Overflow用户
提问于 2011-06-10 14:54:43
回答 2查看 1.7K关注 0票数 2

我正在学习汇编语言。我发现汇编中的算术可以是有符号的,也可以是无符号的。规则对于两种类型的算术都是不同的,我发现决定应用哪种规则是程序员的头疼问题。因此,程序员应该事先知道算术是否包含负数。如果是,则应使用带符号的算术规则,否则将使用更简单和更容易的无符号算术。我发现无符号算术的主要问题是“如果结果大于它的存储区域怎么办?”使用比所需更大的数据存储区域可以很容易地解决这个问题。但这将消耗额外的字节,数据段的大小将增加。如果代码的大小没有问题,我们不能自由地使用这种技术吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-10 14:58:00

如果您是程序员,您可以在软件目标域的要求范围内控制您的数据表示。这意味着在开始实际接触代码之前,您需要很好地了解将要处理的数据类型,它将如何排列(在复杂数据类型的情况下),以及它将如何编码(浮点/无符号整数/有符号整数等)。使用与您正在操作的数据类型相匹配的操作是“最安全的”,如果您的设计做得正确,您应该已经知道了。

票数 9
EN

Stack Overflow用户

发布于 2011-06-10 15:22:31

事情没那么简单。大多数算术运算都是符号不可知的:它们既不带符号也不带符号。

对结果的解释-由程序规范决定-是使它们签名或未签名的原因,而不是操作本身。比较指令的正确风格总是需要仔细选择的。

在一些CPU体系结构中,存在不同的带符号和无符号除法指令,但仅此而已。大多数CPU都有算术右移指令风格,它们要么保留高位,要么将其替换为零:这可以分别用作有符号和无符号处理。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6302961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档