C语言中怎么计算一个类型的取值范围?如 char 用程序算
4个回答
展开全部
C语言中char类型占一个字节,属于有符号数,按补码进行数据存放。
如果用程序,来获取取值范围,可以设置两个变量来存储最大值和最小值,另设一个unsigned char型变量,从一个字节的0(00000000)开始累加,直到变成255(11111111),统计其中的最大和最小值。
参考代码:
#include <stdio.h>
int main()
{
unsigned char i;
char min, max;
max=min=0;
for( i=0;i<255;i++ )
{
if ( min>(char)i ) //按有符号数进行比较
min=i;
if ( max<(char)i ) //按有符号数进行比较
max=i;
}
printf("min=%d max=%d\n", min, max );
return 0;
}
运行结果:
min=-128 max=127
展开全部
根据char的取值范围和unsigned char的取值范围的位数,如char和unsigned char都是8位,char型最高位是符号位,1代表为负数,所以为-2^7-1~~+2^7-1 即-128~+127 ,而unsigned char为2^8-1=256
即0~255
即0~255
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先确定字节,然后确定位,有符号的就是-2的位次方到2的位次方–1,有符号的char是8字节,它的取值范围就是-2的7次方到2的7次方再减一
更多追问追答
追答
说错了是8位不是8字节
首先确定字节,然后确定位,有符号的就是-2的位–1次方到2的位–1次方–1,有符号的char是8位,它的取值范围就是-2的7次方到2的7次方再减一
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char是一个字节也就是8位二进制数字,所以一个char的取值范围是0-255
基本上都是这样计算,就是查询各个类型的位数。
基本上都是这样计算,就是查询各个类型的位数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询