unsigned int 是无符号整型,要求定义的整数一定是正整数。
当把一个负数赋值给无符号整型的变量的时候,会自动把最高位的符号位看成整数的一部分。
例如:
unsigned int a = -10;
printf("%u", a);
结果为
因为-10的在计算机中存储的补码为1111 1111 1111 1111 1111 1111 1111 0110
当计算不把最高位当作符号位,默认这是个正整数的时候,正整数的原、反、补码相同。
而这个二进制数对应的十进制数就是4294967286
文章来源:https://www.toymoban.com/news/detail-517525.html
文章来源地址https://www.toymoban.com/news/detail-517525.html
到了这里,关于unsigned int 与 int 间的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!