机房例题

2019.4.9

例题:从键盘上输入一个整数,判断该整型数的高16位所表示的有符号数及低16位所表示的有符号数的奇偶性,并将高16位与低16位分别以十六进制形式和有符号十进制输出。
思路
  • 取出高十六位和低十六位
  • 判断高十六位和低十六位十进制的奇偶性
  • 输出高十六位的十六进制和十进制及其奇偶性
问题
  • 高十六位和第十六位不是说它是十六进制咋咋咋,而是32位的电脑内存里存的就是32位的数字,关于数字在内存中的储存形式不太懂
  • 位运算不熟悉。
a = n << 16;
c = a >> 16;
b = n >> 16;

32位的n右移16位就只剩下高16位,所以b可以表示n的高16位;
32位的n左移16位之后右边有16个0,这样的数字是不对的,所以还要再右移16位,这样32位的存放位置里左边16位都是0,右边16位就是我们要的数字,所以c可以表示n的低16位

  • printf输出不同类型的数不熟悉,如何输出十六进制数字,如何使得前面加上0x,#是什么意思等等

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值