2个回答
展开全部
区别在于能不能表示负数,有符号可以表示负整数,无符号则不行,只能表示非负整数
另外,表示的数的范围不同,有符号int的范围(如果使用32位的编译器)通常是【-2的31次方】到【2的31次方-1】(十六进制表示为0x80000000到0x7fffffff),无符号int的范围则是【0】到【2的32次方-1】(十六进制表示为0x00000000到0xffffffff)
从二进制的角度上说,有符号int就是以最高位为符号位(计算机二进制是没有正负号的,只有0和1,因此最高位为0表示正整数或0,最高位为1表示负整数),使用补码的形式保存负数,而无符号int不用考虑符号的问题,它的二进制最高位仍是有效数位而不是符号位
另外,表示的数的范围不同,有符号int的范围(如果使用32位的编译器)通常是【-2的31次方】到【2的31次方-1】(十六进制表示为0x80000000到0x7fffffff),无符号int的范围则是【0】到【2的32次方-1】(十六进制表示为0x00000000到0xffffffff)
从二进制的角度上说,有符号int就是以最高位为符号位(计算机二进制是没有正负号的,只有0和1,因此最高位为0表示正整数或0,最高位为1表示负整数),使用补码的形式保存负数,而无符号int不用考虑符号的问题,它的二进制最高位仍是有效数位而不是符号位
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询