C语言中怎么计算一个类型的取值范围?如 char 用程序算

发布网友

我来回答

4个回答

热心网友

首先确定字节,然后确定位,有符号的就是-2的位次方到2的位次方–1,有符号的char是8字节,它的取值范围就是-2的7次方到2的7次方再减一

热心网友

char是一个字节也就是8位二进制数字,所以一个char的取值范围是0-255
基本上都是这样计算,就是查询各个类型的位数。

热心网友

根据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

热心网友

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com