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

 我来答 举报
tattackor
推荐于2017-09-20 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:940万
展开全部
这个要看字符数是什么数据类型,可以用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个字符
晟宁净n
2016-12-24 · TA获得超过5446个赞
知道小有建树答主
回答量:1931
采纳率:68%
帮助的人:575万
展开全部
ASCII
一个英文字母,数字-----占7/8字节,就是7个2进制位,第八个有其他用,比如奇偶校验,因此可以算占一个字节。(8个Bit位)
一个中文字-------占二个字节
整数要根据类型,一般是极其的字长。比如16位机整数就是16位Bit,两个字节。32位机就是4字节。还有int64
类型的整数。
至于实数在C中,有32位(float)和64位(double)之分。其他语言中有类型80位的,叫扩展精度实数.主要是在cpu内部的扩展精度实数寄存器,是80位的。保证在double实数运算是不损失精度。
8 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
因果龙阁
2019-09-30
知道答主
回答量:1
采纳率:0%
帮助的人:727
展开全部
对于几乎所有的机器,1字节均为8位,这是字节的标准定义,至少在衡量存储单位时是这样。但是C语言有自己的定义:一个字节为char类型占用的位(bit)数。
6 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
yuqangy
2009-05-26 · TA获得超过233个赞
知道答主
回答量:136
采纳率:0%
帮助的人:104万
展开全部
一个字符一个字节 共8位(bit)
可以用sizeof(类型)来测试
本回答被提问者采纳
30 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
装着很懂
2009-05-26 · TA获得超过138个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:396万
展开全部
一个字节 8位
3 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式