加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 了解符号扩展

发布时间:2020-12-16 10:29:53 所属栏目:百科 来源:网络整理
导读:int main(){ unsigned int b; signed int a; char z=-1; b=z; a=z; printf("%d %d",a,b);} 给-1 -1.为什么没有符号扩展,也就是它何时发生? 解决方法 发生签名扩展DID,但您正在错误地打印结果.在你的printf中你为b指定了%d,但是b是无符号的,你应该使用%u来
int main()
{
  unsigned int b;
  signed int a;
  char z=-1;
  b=z;
  a=z;
  printf("%d %d",a,b);
}

给-1 -1.为什么没有符号扩展,也就是它何时发生?

解决方法

发生签名扩展DID,但您正在错误地打印结果.在你的printf中你为b指定了%d,但是b是无符号的,你应该使用%u来打印b.

printf不知道其参数的类型,并使用format指定来解释它们.

printf("%d %u",b);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读