C语言字符数占几个字节,又是多少位。

Python020

C语言字符数占几个字节,又是多少位。,第1张

这个要看字符数是什么数据类型,可以用sizeof(类型)操作符来测试字节数。

1、英文字母:如果是char 型,那么是占用1个字节,8位。如果是string型,应该是两个字节,16位,因为末尾还有个\0字符。

比如:

char c = 'a'//它占用一个字符

char c[] = "a"//占用两个。

char c[] = "abcde"//占用4+1 = 5 个,结尾有一个'\0'

2、数字:有很多种类,从小到大分别为:

short、int、float、long、double

字节为:1个、2个、4个、8个、8个

位数为:8位、16位、32位、64位、64位

3、汉字:理论上说,一个汉字占用两个字节,16位。比如:中国,就占用4个字节,例如:

char c[] = "中国"//占用4+1 = 5个字符

1、在32位系统中:

char(1)字节

short(2)字节

int(2)字节

long(4)字节

char*(4)字节

int*(4)字节

int**(4)字节

2、在64位系统中:

char(1)字节

short(2)字节

int(4)字节

long(8)字节

char*(4)字节

int*(4)字节

int**(4)字节

扩展资料

在C++中short占2字节,int、float、long都占4字节,double占8字节。

指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。

char占1字节,short占2字节,int、float、long都占4字节,double占8字节,任意类型的指针都占4个字节。

实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。

在Turbo C中单精度型占4个字节(32位)内存空间,其中数符1位,小数部分23位,指符1位,指数7位,所以其数值范围为3.4E-38~3.4E+38,只能提供6~7位有效数字。双精度型占8 个字节(64位)内存空间,其中数符1位,小数部分23位,指符1位,指数10位,其数值范围为1.7E-308~1.7E+308,可提供15~16位有效数字。

表2.2

类型说明符比特数(字节数)有效数字数的范围

Float32(4)6~710-37~1038

Double64(8)15~1610-307~10308

long double128(16)18~1910-4931~104932

3.实型变量的定义形式及初始化与整型相同。

类型说明符:float(单精度实型), double(双精度实型)。 

例如:

float x=1.27 , y=3.5 4       /*x,y为单精度实型变量,且初值为:1.27和3.54*/

double a,b,c   /* a,b,c为双精度实型变量*/

在计算机中,存放浮点数一般采用定点数和浮点数两种表示方法。C语言中采用的是浮点数表示法,以Turbo C中的float型的7.8125×10-2为例,其数据存储的格式如下

01010000000000000000000010000011

数符        小数部分(23位)                指符   指数(7位)

即二进制的0.101×10-11,转化为十进制为0.625×2-3,即7.8125×10-2。

       对于double型的数据小数部占53位(包括数符一位),指数部分占11位(包括指符一位)。

       对于long double型的数据小数部分占113位(包括数符一位),指数部分占15位(包括指符一位)。