a353249573 2016-11-08 02:36 采纳率: 50%
浏览 2221

int类型的数据&0xff会变成什么类型?

char buf[512];
int i;
if (buf[i] != (i & 0xff))

问题:i & 0xff结果会变成什么类型?

结果显示buf[i] = 0x80和 i = 0x80居然不相等,是不是符号的问题?

  • 写回答

3条回答 默认 最新

  • 尚书左仆射 2016-11-08 02:41
    关注

    &是“位与操作符”,i&0xff使得i只剩下最低的8位值,而其它位均被值为0.
    int的类型是不会变的,只是他的值变了。

    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏