知道某负数补码后如何计算其绝对值?

知道某负数补码后如何计算其绝对值?前些天写了如下日志 如何计算一个有符号数的补码表示 http blog csdn net jbb0523 article details nbsp 现在补充一点 按照 谭浩强 C 程序设计 第三版 北京 清华大学出版社 2005 的第 40 页至第 4

 前些天写了如下日志:

如何计算一个有符号数的补码表示?

http://blog.csdn.net/jbb0523/article/details/

 

现在补充一点:

按照【谭浩强.C程序设计(第三版).北京:清华大学出版社,2005】的第40页至第41页所述,求一个负数的补码的方法如下:

【例】求-10的补码的方法如下:

1)取-10的绝对值10;

2)10的绝对值的二进制形式为1010;

3)对1010取反得1111 1111 1111 0101(这里假定一个整数占16位)

4)再加1得1111 1111 1111 0110;

即取补码的步骤是将其绝对值按位取反再加1即可……

 

现在探讨的问题是知道了-10的补码后如何计算其绝对值?

现在列出计算步骤如下:

1)将其补码取反得:0000 0000 0000 1001;

2)然后加1得:0000 0000 0000 1010;

即得-10的绝对值10……

 

因此已知负数A,则|A|=~A+1;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233754.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号