首页 置换 选车 估价 问答 生活 经销商 车管所 汽车资讯 汽车销量 车牌查询 今日油价 天气预报
您的位置: 首页 > 生活 > 生活 > 数据类型中char是什么型(为什么char类型的数值范围是-128)
数据类型中char是什么型(为什么char类型的数值范围是-128)
更新时间:2024-07-07 11:38:51

数据类型中char是什么型?本文针对x86架构体系而言----------------------------------------,下面我们就来说一说关于数据类型中char是什么型?我们一起去了解并探讨一下这个问题吧!

数据类型中char是什么型(为什么char类型的数值范围是-128)1

数据类型中char是什么型

本文针对x86架构体系而言

----------------------------------------

我们知道在c语言中,char类型是8位二进制的有符号类型,最高位为符号位,剩下的7位表示数值,而7位能表示的最大值为127,所以第一直觉是char类型的范围应该是-127~ 127。但如果是-127~ 127的话,那0就有两种表示了:

假如用源码表示0的话,二进制就是:0000 0000 和1000 0000, 也就是有正零,负零,有点诧异,还有点浪费空间...

那能不能用其中的一个0来表示-128呢?当然可以!而且必须用二进制1000 0000来表示(0000 0000就表示0了,天时地利人和)

这就有了-128的一席之地了:

0000 0001 1 0000 0000 0 1000 0000 -128 1000 0001 -1 1000 0002 -2

但是看看这个坑占的,简直太突兀了,还是不要-128算了!而且如果-1>-2,那么他们映射的二进制1000 0001 也应该自然地大于 1000 0002,这样比较才是效率最高的,而不需要更高一层的定义。

别急别急,如果用补码,那正负的范围值就如丝般顺滑了(论补码的妙哉,哈哈):

注:有符号整数X,如果值大于等于0,则补码就是原码,如果小于0,则为2^n X

0000 0001 1 0000 0000 0 1000 0000 -128 1000 0001 -127 ......... 1111 1111 -1

重新排列一下,就更符合自觉,更直观了,而且我们发现有符号无符号整数的二进制是一样的,关键就在于上层语言怎么解释了,比如1111 1111可以是255,也可以是-1。所以有无符号,纯粹就是上层语言怎么定义了。

0000 0000 0 0000 0001 1 ... 0111 1111 127 1000 0000 -128 1000 0001 -127 .... 1111 1111 -1

其他short, int,long long一样一样的,公式为:-2^(n-1) ~ 2^(n-1) - 1

,
相关推荐RECOMMEND
卫生间总是有臭味是哪里发出的(卫生间有臭味的原因主要有哪些)
相信很多业主在生活中都有遇到过这个问题,圣剑有时候会偶尔出现一种臭味,但是又不知道是什么原因,想要彻底清除卫生间异味,那么我们就要先了解清楚卫生间有臭味的原因是什么,下面一起来看看。卫生间有臭味的原因...
俄罗斯是欧洲发达国家吗(为何亚洲人认为俄罗斯是欧洲国家)
对于俄罗斯究竟是一个亚洲国家,还是欧洲国家?不同的人看法不一样,在我们看来,俄罗斯就是一个欧洲国家;而在欧洲人看来,俄罗斯是一个东方国家,不同于其他欧洲国家,这是为何呢?我们为什么认为俄罗斯是一个欧洲...
考研396可以调剂哪些大学(扎堆改考396408又一批院校发通知)
5月匆匆而过,考研倒计时还有200多天,22考研的你们最近复习得怎么样了呢?(是你吗?是的请文末右下角自动扣赞)现阶段同学们也应该陆续开始复习专业课了,一定要注意自己目标院校、院系官网的动态,近期又有...
太原阳曲大王庙在哪里(山西省阳曲县有个轩辕庙)
轩辕庙(第五批省保)时代:明、清地址:阳曲县东黄水镇西殿(店)村东的高台之上始建年代无考。据碑文记载,重建于明嘉靖十六年(1537),坐北向南,二进院,宫殿式建筑,有倒座戏台(下为山门)、过殿、正殿及...
怕晒黑教你如何防晒(为啥你一晒就黑)
又是炎炎夏日,相信很多人都晒黑了吧?为什么有的人怎么晒都不黑,而有的人一晒就黑?其实,那些晒不黑的人,已经做足了功课,他们在出门前只为防晒就花去很多时间。要想晒不黑,你不妨试一试这3招,非常有效哦!出...
陶华碧子女现在怎样(陶华碧长子建烂尾楼)
#头条创作挑战赛#文|李培树编辑|孙大圣2021年春天,74岁的陶华碧久违地接受了媒体采访,头发斑白但精神头十足的她,操着一口贵州方言,首次向观众坦承老干妈确实曾更换过辣椒品种,不过早已换回来了。她强...