当前位置:  开发笔记 > 编程语言 > 正文

二进制补码二进制形式

如何解决《二进制补码二进制形式》经验,为你挑选了2个好方法。

在TC++编译器中,5的二进制表示是(00000000000000101).我知道负数存储为2的补码,因此二进制的-5(111111111111011).最高位(符号位)为1,表示它是负数.

那么编译器如何知道它是-5?如果我们将上面给出的二进制值(111111111111011)解释为无符号数,它会变得完全不同吗?

另外,为什么1的恭维5 -6(1111111111111010)



1> vartec..:

编译器不知道.如果你投-5unsigned int你会得到32763.



2> greyfade..:

编译器知道,因为这是CPU本身使用的约定.您的计算机有一个CPU,以二进制补码表示法存储负数,因此编译器也会如此.如果你的CPU支持一个补码,编译器会使用(如与IEEE浮动的情况下,偶然).

关于该主题的维基百科文章解释了两个补码表示法的工作原理.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有