无符号数与有符号数的比较

无符号数与有符号数的比较


无符号数与有符号数的比较

  • 无符号数与有符号数的比较
  • 一、无符号数与有符号数的比较
  • 二、无符号数与有符号数的取值范围


一、无符号数与有符号数的比较

一个有符号的整型数据可以分为两部分一部分是符号位、一部分是数字位
无符号数据类型只包含数字位部分
signed int a= 1986(有符号标识 signed可以不用写)

在这里插入图片描述


二、无符号数与有符号数的取值范围

无符号:
unsigned int a= 1986
无符号:1111 1111 1111 1111 1111 1111 1111 1111 =
0000 0000 0000 0000 0000 0000 0000 0000 =0
无符号整型取值:0-4294967295(2^32-1)
无符号的字符型:0-255


有符号:
int a= 1986
0111 1111 1111 1111 1111 1111 1111 1111 = 2147483647
0000 0000 0000 0000 0000 0000 0000 0001
原码: 1111 1111 1111 1111 1111 1111 1111 1111 = -2147483647
反码:1000 0000 0000 0000 0000 0000 0000 0000
补码:1000 0000 0000 0000 0000 0000 0000 0001=-2147483647
-0的补码
补码:1000 0000 0000 0000 0000 0000 0000 0000=-0 = -2147483648


END
无符号数与有符号数的比较_第1张图片

你可能感兴趣的:(c语言,c语言)