中易网

C语言中的右移一位是不是应该除以2?

答案:1  悬赏:70  
解决时间 2021-01-05 01:49
C语言中的右移一位是不是应该除以2?
最佳答案
不是
C语言的有符号整数向右移位运算不等同于除以2的某次幂如(-1)/2和(-1)>>1,前者的结果一般是0,后者一般是-1,所以在C语言中,负数向右移动1位并不等同于除以2。
解决的方法是:当除数是2的N次幂时,x/(2^N),可以用移位操作(x + 2^N - 1) >> N来代替(x + 2^N - 1须小于0,^是乘方操作)
在C语言中,-100/8=-12,而-100>>3=-13,两者不相等,而用(-100+7)>>3代替则相等。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
CCNA过了期就得重考吗?以后找工作时
我姓蔡 名金辉 跪求大神帮忙给一个最合适的英
新竹市的意思是什么?新竹市的释义是什么啊?
雪刺的意思是什么啊?请解释下!
城市的麻雀在哪栖息啊?
赵某对某办公软件进行解密,并制成光盘在网上
彝法的意思是什么?彝法的释义是什么啊?
貪夫徇財的意思是什么?貪夫徇財的释义是什么
那一句发自心底里的话800字作文
万博国际有合法牌照吗??
win10如何设置指纹登录
鱼掷的意思是什么啊?请解释下!
额头骨头上长了一个小硬包
拔賞的意思是什么?拔賞的释义是什么啊?
你好,同一座楼,同一面积的房子,上下层对换
推荐资讯
当一个女生拒绝你四次出来玩你还找她吗?
对心的意思是什么啊?请解释下!
珍肥的意思是什么?珍肥的释义是什么啊?
抹抹颩颩的意思是什么?抹抹颩颩的释义是什么
高达驾驶员的工资多少
吧里为什么很少看到有用全自动咖啡机的
3,4部还有必要看吗
新年快乐,今天是2014年最后一天,我想说2014
今年九月二十四号固镇什么天气
生死狙击ar15炫彩与ar15s属性对比
牵手婚纱影楼地址好找么,我有些事要过去
GTV【LPL夏季赛第五周】TOP5背景音乐
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?