在一个非零无符号二进制整数之后添加一个0,则此数的值为原数的倍为什么

如题所述

非零无符号二进制整数之后添加一个0,相当于向左移动了一位,也就是扩大了原来数的2倍。在一个非零无符号二进制整数之后去掉一个0,相当于向右移动了一位,也就是变为原数的1/2。

扩展资料

计算机中的整数分为两类:不带符号位的整数(unsigned integer,也称为无符号整数),此类整数一定是正整数;带符号位的整数(signed integer),此类整数可以表示正整数,又可以表示负整数。

例如:

(1)int是有符号的,unsigned是无符号的。

(2)一个字节是8位, 有符号的数,因为第一个位要用来表示符号,那么就只剩下7个位置可以用来表示数了0000000~1111111因为有符号,所以还可以表示范围:-1111 111 ~ +1111 111。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-10-16
您好。假设这个数为n,表示为二进制是(ak ak-1 ak-2... a0)。那么根据二进制运算法则,知道n=a0+2*a1+4*a2+...+2^k*ak。
在n后面加一个零,则其二进制表示为(ak ak-1 ak-2... a0 0),那么根据二进制运算法则,知道n=0+2*a0+4*a1+...+2^k*ak-1+2^{k+1}*ak
比较两式就知道加了0后变为了n的二倍。本回答被网友采纳
第2个回答  推荐于2017-09-06
在一个非零无符号二进制整数之后添加一个0,则此数的值为原数的2倍。
你想想十进制数就知道了,在一个十进制整数之后添加一个0,此数值即为原数的10倍。例如,在5的后面添加一个0,就变成50了。
在一个N进制整数之后添加一个0,则此数的值为原数的N倍。本回答被提问者和网友采纳
第3个回答  2019-08-26
最后位加0,等于前面所有位都乘以2再相加,所以是两倍。
相似回答