概述
不是必须。用除法指令,是可以的。
二进制数字,
左移一位,代表乘以2;
右移一位,代表除以2。
对于补码,也是一样。
负数,右移一位,也代表除以2,左边补上一,不影响正负数。
负数,左移一位,也代表乘以2。在右边补上零,代表乘以2之后就是偶数。
扩展资料:
正整数的补码是其二进制表示,与原码相同。
例:+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)
负数
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
参考资料来源:百度百科-补码
最后
以上就是沉默小蘑菇为你收集整理的c语言中-1右移2怎么算,编程中除以2的计算什么时候必须用右移1位来完成的全部内容,希望文章能够帮你解决c语言中-1右移2怎么算,编程中除以2的计算什么时候必须用右移1位来完成所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复