00000101 是 5
10000101 是 -5
但 10000101 也是 133
我不明白为什么1个二进制能够代表2个数字。如有任何帮助,我们将不胜感激,谢谢。
Eri*_*hil 10
\xe2\x80\x9cGift\xe2\x80\x9d 一词至少有两个含义。在英语中,它的意思是你送给某人的礼物。在德语中,它的意思是毒药。要了解说话者所指的概念,您必须知道他们说的是哪种语言。
\n位串 10000101 本身没有任何意义。这只是一些位。仅当我们将位串与类型关联时,位串才具有值,类型(部分)是将值与位串关联的方法。要知道它代表什么值,您必须知道它与哪种类型一起使用。
\n如果我们将 10000101 解释为纯二进制数字,则表示 1\xe2\x80\xa22 7 + 1\xe2\x80\xa22 2 + 1\xe2\x80\xa22 0 = 128 + 4 + 1 = 133。
\n如果我们将 10000101 解释为符号和数值表示,则表示负数 1\xe2\x80\xa22 2 + 1\xe2\x80\xa22 0 = \xe2\x88\x92 (4+1) = \xe2\ x88\x925。
\n如果我们将 10000101 解释为两个\xe2\x80\x99s补码表示,则意味着 \xe2\x88\x921\xe2\x80\xa22 7 + 1\xe2\x80\xa22 2 + 1\xe2\x80\xa22 0 = \xe2\x88\x92128 + 4 + 1 = \xc2\xa0\xe2\x88\x92123。
\n在 C 中,每个声明的对象和每个常量都有一个类型,并且从这些东西构建的每个表达式都有一个类型。类型说明如何解释这些位。
\n