C语言:无符号整型

背景

整型有无符号和有符号两种类型。

在默认情况下声明的整型变量都是有符号的类型char有点特别,如果需声明无符号类型的话就需要在类型前加上unsigned

  • 32/64位系统下有符号int的取值范围:-2147483648~+2147483647
  • 32/64位系统下无符号int的取值范围:0~4294967295

C语言中,无符号整型数就是不带正负表示符号的整型数。

理解

1、那么-1的无符号整数为什么是4294967295?

无符号整数的第一位不用代表正负了,没有符号,所以16位全为有效位

-1在内存中的补码为全1,这个值为无符号整型,因此无符号整型所能表示的最大值为4294967295。

备注

正数的原码、反码和补码都为一样,所以无符号输出能把补码直接转化为10进制输出。
 

你可能感兴趣的:(#,C,linux,知识,c语言,c++,-1的无符号整数)