C语言中,与2乘左移,与2除右移,这个是啥意思,求详细解释!!!
1个回答
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
对一个数实施左移操作=对这个数×2;对一个数实施右移操作=对这个数÷2。
a=ox32(16进制)00110010
b=a<<2
这个时候b=11001000对
那么此时a=00110010
继续
c=a<<2
请问c是在原来a的初值(ox32)上移动
这个时候c=11001000
一个十进制的数,在电脑中都可以按二进制表示。例如:数字8,二进制就是1000.左移一位,1000<<1=00010000=16,因此就是=8×2;同理右移一位,1000>>1=0100=4,就是8÷2。
扩展资料
C语言中移位代替乘除
unsignedinthash(charconst*s)
{
unsignedh=0;
while(*s!='\0'){
h=127*h+(unsignedchar)*s;
++s;
}
returnh;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询