1.题目中为什么是算术移位,2.百度上有的说算术右位,符号位不变,补符号位;有的说要通过补码来求解,
答案:1 悬赏:70 手机版
解决时间 2021-01-16 09:52
- 提问者网友:两耳就是菩提
- 2021-01-16 06:50
1.题目中为什么是算术移位,2.百度上有的说算术右位,符号位不变,补符号位;有的说要通过补码来求解,
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-01-16 07:55
你自己把问题弄复杂化了,没有什么“补码实现”一说。计算机中的整数都是补码,右移就是最高位补符号,最低位舍弃的过程。a=0xf234,再a>>8后怎么可能是0xf2?一个二字节的整数右移8位后怎么可能变成一字节?由于称号位是1,所以前面要补8个1(符号),8个1是ff,再添上f2不就是fff2了吗?追问那这个就是算术移位,什么时候是逻辑移位,什么时候是算术移位呢,如果是逻辑移位应该是0x00f2追答在C/C++中,基本移位只有“左移”和“右移”,它们的实质都是算术移位,没有逻辑移位。逻辑移位的实质是无论左移还是右移,移进去的一侧都补0,而不像算术移位右移时移进去的一侧都补最高位。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯