永发信息网

C语言中char的数值范围

答案:1  悬赏:80  手机版
解决时间 2021-02-23 19:09
C语言中char的数值范围
最佳答案
按八位来算:
在计算机里面是用补码表示的,128的二进制码是:10000000,这个东西在计算里面并不是128,因为最高位是符号,它是个负数,那么负数的原码是多少呢,我们知道如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。 
所以,10000000取反后就是11111111,把符号位去了就是01111111再加1就是10000000就是-128了。
其实你看-127是10000001,这个很好理解,-128加1不就是-127
在C/C++中,char是C/C++整型数据中比较古怪的一个,
而且关于char还有一个特殊的语言就是char *,它在C/C++中有专门的语义,既不同于signed char *,也不同于unsigned char *,专门用于指以''为结束的字符串
C语言是弱类型还没什么,如果在C++中,你可以试一试
char *p="abcd";

是可以通过编译的但如果用  
signed char *p="abcd";

还是  
unsigned char *p="abcd";

都是不能通过编译的。
关于这些在C/C++的语言标准或一些经典书籍如TheC++Programing Language中都有很清楚的说明。
判断编译器的默认char符号




#include 
int main(void)
{
  char c=-1;
  if(c<200){
  printf("signed
");
  }
  else{
  printf("unsigned
");
  }
  return 0;
}char 还在pascal语言中应用。在Pascal语言中,字符常量是由单个字符组成,所有字符采用ASCII编码也称ASCII码
   
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
If we live without water,we would die.这句
眼线可以洗掉吗
隆诚铝业在哪里啊,我有事要去这个地方
即墨市于家庄村属于什么镇
临安到舟山的路线
裕隆纳智捷u6尺寸多大
喝咖啡和抽烟哪个危害大
西安海德液压机电有限公司地址在什么地方,想
下列说法正确的是DA. 在等高线地形图上,坡缓
0.45除以1.3+0.33除以1.3用简便计算
天逸和钟绅功放哪个好,雅马哈功放与安桥哪个
有关于DOTA
亚太金控香港有限公司是否是骗子公司
什么是空压机的比功率?
你能上你喜欢的课,用英语怎么说?
推荐资讯
阿龙大排档地址有知道的么?有点事想过去
新联水产三文鱼体验中心地址在哪,我要去那里
中国移动方方指定专营店怎么去啊,有知道地址
洛阳老城区哪里卖浆面条的原料 浆
麒麟的后世影响
【烦躁的反义词】烦躁的反义词是什么(5个)
挖机没有了电脑板,有什么办法启动
我国对于可再生能源并网发电的相关规定有哪些
住在煤矿周围的居民通过什么途径来维护自己的
马山县红水河美食馆在什么地方啊,我要过去处
现货公司是干嘛的?
百味炒货地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?