c语言中10010100为啥是-20
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中10010100为啥是-20相关的知识,希望对你有一定的参考价值。
最高位代表是负数的意思,后面是16加4因此,该数就是-20 参考技术A 对于有符号整数,最高位是用来区别正数和负数的符号位。处理器默认采用补码的形式表示有符号整数,最高位为0表示正整数,最高位为1表示负整数。对于10010100这个数最高位是1表示负数啊,数值呢就是0010100用按权展开就是2^4+2^2=20,即10010100表示-20本回答被提问者采纳请教c语言中打印变量的大小被警告是为啥(VS2019/Debug/x64)?
需要改为printf("%llu",sizeof(pc)); 或printf("%d",(int)sizeof(pc));
因为在x64 环境下sizeof()返回的是一个64位无符号数。 参考技术A 64位的编译器,sizeof求pc指针长度,即求pc的内存地址,是一个64位二进制数,%d已经无法表示,就发生了这个警告,警告已经明确提示了这个问题。本回答被提问者采纳
以上是关于c语言中10010100为啥是-20的主要内容,如果未能解决你的问题,请参考以下文章
c语言里面,我for语句的循环跨度如果想是0.5应该怎么打呢,平时就是1++那么1+=0.5为啥