发布网友 发布时间:2022-04-25 15:51
共3个回答
热心网友 时间:2023-10-14 18:26
我想用二进制与十进制相比较你容易明白些.
二进制数的特点就是逢二进一;而十进制是逢十进一.
二进制的计数基数是2,而十进制的计数基数是10.而无论是二进制数还是十进制数,它的绝对值的大小都是各位的数值乘以基数的(N-1)次幂(这称为该位的"权")的累加.
举个例子.十进制数123,从右边数起为第1位,则它的值是3*(10的0次方)+2*(10的1次方)+1*(10的2次方)=3+20+100=123,这比较容易理解吧?
再举个二进制的例子,101010,从右边数起为第一位,则这个二进制数它的值是0*(2的0次方)+1*(2的1次方)+0*(2的2次方)+1*(2的3次方)+0*(2的4次方)+1*(2的5次方)=0+2+0+8+0+32=42
也就是说,一个二进制摆在你面前,从右边数起,第一位表示1,第二位表示2,第三位表示4,第四位表示8.......第N位表示2的(N-1次方).这就是所谓的"权".你只要把该位上的数字(0或者1)分别乘上它对应的权,然后加起来,就知道它表示是什么数了.
就你问的来说,5可以拆成4+1,所以第一位(代表1)和第三位(代表4)的数字均为1,其它为0.也就是00101.同理,你说的01101,它表示的数是1+0+4+8=13,而不是5了.
而为什么不拆成2+3呢?因为在二进制数中没有值为3的权,你无"权"这样拆~~~
希望能对你有帮助~~~
参考资料:数电常识
热心网友 时间:2023-10-14 18:26
5就是5个1相加,满2进1啊
1+1=10
10+1=11
11+1=100
100+1=101
热心网友 时间:2023-10-14 18:27
因为数据在计算机中都是以二进制表示的,编译系统对于不同类型的变量分配不同大小的存贮空间,制定不同的取值范围。比如整型在计算机中的存储用2个字节16位的存储空间,其中的最高位代表符号位的,符号位为0表示的是正数,符号位为1表示为负数,整型数据在内存中以二进制的补码存放。
以10和-10说明正数在内存中的存放形式:
十进制
10
-10
二进制原码
0000000000001010
1000000000001010
二进制反码
0000000000001010
1111111111110101
二进制补码
0000000000001010
1111111111110110
而对于这一道题目没有达到正数的存储长度,即符号位不为1的,所以化为十进制后为正数,题中的二进制标准表示为0000000010100110和0000000000001100,由此看出符号位为0,代表正数的。所以,
10100110=1×2^7+1×2^5+1×2^2+1×2^1=166
1100=1×2^3+1×2^2=12.
题中的1100如果为十进制的话转化为二进制的话为00000100
01001100不是-4也不是12。O(∩_∩)O~
可能是你的题目写错了的把!