C语言中字符变量数值取值范围。
C语言中有符号型字符变量的取值范围为什么是-128到127呢?应该是-127到127呀!符号位除外,最大的也就127最小的是-127,怎么是-128呢?...
C语言中有符号型字符变量的取值范围为什么是-128到127呢?应该是-127到127呀!符号位除外,最大的也就127最小的是-127,怎么是-128呢?
展开
1个回答
展开全部
在C语言中一般char类型占1个字节,即8个二进制bit位,每1位有0或者1两种值,使用乘法原理,排列组合数为2^8 = 256种排列数。
如果是无符号char类型,即unsigned char类型,可以表示【0,255】共256个无符号数。
如果是有符号char类型,即signed char或者char类型,可以表示【-128,127】,共256个有符号数。
说明:在表示有符号整数时,现在计算机一般使用原码、反码、补码三种编码方式。原码的表示,最高位表示符号位,0表示正数,1表示负数。所以有符号char类型的最大值的二进制位表示如下:
0 111 1111 //最高位是符号位即为127
最小值的二进制位表示如下:
1 000 0000 //负数是绝对值越大,其值越小。即为-128
如果是无符号char类型,即unsigned char类型,可以表示【0,255】共256个无符号数。
如果是有符号char类型,即signed char或者char类型,可以表示【-128,127】,共256个有符号数。
说明:在表示有符号整数时,现在计算机一般使用原码、反码、补码三种编码方式。原码的表示,最高位表示符号位,0表示正数,1表示负数。所以有符号char类型的最大值的二进制位表示如下:
0 111 1111 //最高位是符号位即为127
最小值的二进制位表示如下:
1 000 0000 //负数是绝对值越大,其值越小。即为-128
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询