不是必须。用除法指令,是可以的。
二进制数字,
左移一位,代表乘以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进制来表示。
参考资料来源:百度百科-补码