如题所述
1、英文字母:如果是char 型,那么是占用1个字节,如果是string型,有两个。
比如:
char c = 'a';//它占用一个字符
char c[] = "a";//占用两个
char c[] = "abcde";//占用4+1 = 5 个,结尾有一个'\0'
2、数字:这个有很多中,从小到大分别为:
short、int、float、long、double
分别为:1个、2个、4个、8个、16个
3、汉字:理论上说,一个汉字占用两个字符。比如:中国,就占用4个字符,如果是:
char c[] = "中国";//占用4+1 = 5个字符
char c = '中';//错误,不能这样计算
扩展资料:
字符与字节的换算:
1、ASCII码:一个英文字母(不分大小写)占一个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数。换算为十进制 ,最小值-128,最大值127。如一个ASCII码就是一个字节。
2、UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。
3、Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节。
参考资料:百度百科—字节
温馨提示:答案为网友推荐,仅供参考
第1个回答 2023-06-26
ASCII
一个英文字母,数字-----占7/8字节,就是7个2进制位,第八个有其他用,比如奇偶校验,因此可以算占一个字节。(8个Bit位)
一个中文字-------占二个字节
整数要根据类型,一般是极其的字长。比如16位机整数就是16位Bit,两个字节。32位机就是4字节。还有int64
类型的整数。
至于实数在C中,有32位(float)和64位(double)之分。其他语言中有类型80位的,叫扩展精度实数.主要是在cpu内部的扩展精度实数寄存器,是80位的。保证在double实数运算是不损失精度。
一个英文字母,数字-----占7/8字节,就是7个2进制位,第八个有其他用,比如奇偶校验,因此可以算占一个字节。(8个Bit位)
一个中文字-------占二个字节
整数要根据类型,一般是极其的字长。比如16位机整数就是16位Bit,两个字节。32位机就是4字节。还有int64
类型的整数。
至于实数在C中,有32位(float)和64位(double)之分。其他语言中有类型80位的,叫扩展精度实数.主要是在cpu内部的扩展精度实数寄存器,是80位的。保证在double实数运算是不损失精度。