浅谈C语言中的数据类型

浅谈C语言中的数据类型,第1张

浅谈C语言中的数据类型

c++中的基本数据类型分为:char(字符型),int(整形),float(实型),double(双精度实型),bool(逻辑型),void(空类型)

其中char占用字节数为1,1个字节为8位二进制码,存放的是字符的ASCII码值,或者也可以用字符型量来表示一个8位二进制码的整型量,取值范围是-128~127,也就是“-2的七次方”到“2的七次方-1”(由于0的存在所以减一)即2的八次方个数。

Int占用4字节,float占用4字节,double则占用8字节,bool占用1字节(常量ture和false),而void不占用字节。

Float的有效数字位数是7位,double为15~16位,有效数字位数指的是十进制数据的位数,例如,float实数123.456789,计算机内部只能精确到7这一位。

由于实型在计算机内部采用浮点形式表示,所以不能用修饰词,唯有char和int可以加修饰词。

关于修饰词,signed(有符号)unsigned(无符号)long(长)short(短)
[signe]char
Unsigned char取值范围0~255(2的八次方-1)
[signe] short [int] 占用2字节,取值范围-3276832767(-2的15次方2的15次方-1)
Unsigned short [int] 占用2字节,取值范围0~65535(2的16次方-1)
[signed] int ,取值范围-2的31次方~(2的31次方-1)
Unsigned [int] 取值范围0~(2的32次方-1)
[signed] long [int]
Unsigned long [int]
方括号代表可以省略。
Int型量在内存中以补码的形式存储,举个例子,int a=5,则a:0000 0000 0000 0000 0000 0000 0000 0101(32个二进制位)int b=-5,则b:1111 1111 1111 1111 1111 1111 1111 1011 补码的最高位是符号位,正数补码形式与原码相同,负数的补码是其原码取反+1,
即-5原码是0000 0000 0000 0000 0000 0000 0000 0101 取反 1111 1111 1111 1111 1111 1111 1111 1010 再加1 变成 1111 1111 1111 1111 1111 1111 1111 1011

参考文献:
《c++程序设计教程》第3版 “2.2 c++的基本数据类型”

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5659371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存