一道计组考研题的思考 发表于 2022-10-22 更新于 2023-01-02 分类于 科研 Valine: 本文字数: 522 阅读时长 ≈ 1 分钟 😑正确答案是:C 考点:移位有符号数:有符号正数: 原码/反码/补码:无论左移右移,符号位不变,移出位丢弃,空位补0 有符号负数: ·原码:无论左移右移,符号位不变,移出位丢弃,空位补0 ·反码:无论左移右移,符号位不变,移出位丢弃,空位补1 ·补码:无论左移右移,符号位不变,移出位丢弃,左移空位补0,右移空位补1 无符号数:左移:<< 右移:>> 移出位一律补0 拓展C语言中的左移右移与编程实现 众所周知,计算机中的数据都是由补码表示,下面的代码实现了作为补码的左移和右移: 123456789101112#include<stdio.h>int main(){ int n = 0x9A ; int t = (n<<1)&0xff; //n左移1位,末位补0,&0xff使输出是8位 int m = (n>>1); //n右移1位,最高位补0,舍弃最右侧的1位 printf("%#X\n",t); printf("%#X\n",m); //"%#X"是输出16进制的一种形式,最推荐使用的就是这种格式 return 0 ;} 运行结果: -------------本文结束感谢您的阅读------------- 请作者喝一杯蜜雪冰城吧! 打赏 微信支付 本文作者: Nexus 本文链接: http://nexuslbh.top/2022/10/22/一道计组考研题的思考/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!