预定程序员 2023-02-20 20:11 采纳率: 65.9%
浏览 24
已结题

扫地机器人的二进制输出问题

右侧的代码是以二进制输出
问题:1. x明明是一个题上给的数,但是红圈圈出的语句表示x向右移7位,难道x表示最高位的数字吗?不理解右侧的二进制输出代码
2.for语句中是--i,表示在使用前减,i就是6了,那岂不是要向右移6位?但是这个代码却是要表示向右移7位

img

img

  • 写回答

1条回答 默认 最新

  • 元气少女缘结神 2023-02-20 22:29
    关注

    1,红圈中是表示将x右移多少位,如x是01001101,右移1位就是00100110,右移7位也一样操作,虽然是有符号的char,但一样补0
    2,前减后减在这里没所谓。因为它并没有求tmp=--i 或 tmp=i-- 的值,因为前减、后减后i的值都一样,它要的是i,而不是tmp。所以第一次i=7,然后前减或后减后i=6即第二次,然后继续减i=5,以此类推。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月19日
  • 创建了问题 2月20日