C语言说char是16位,又说他是1字节(byte)字节和位有啥区别?

作者&投稿:钞信 (若有异议请与网页底部的电邮联系)
C语言中,char类型数据占多少字节?~

char 1个字节
16位编译器

32位编译器

64位编译器

拓展资料C语言中的char数据类型
C语言中的char数据类型是一种整数类型(integer type),它的大小被定义为1个Byte。
亦即sizeof (char) ≡ 1


’是两个字节。
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、由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。
2、不指定 signed 或者 unsigned 的 char 类型,在C语言中是未定义的,若考虑不同的编译器,我们不能确定 char 类型到底是有符号的,还是无符号的。

C 语言 规定 char 型 是1 字节整型。1字节 等于 2进制8位, 2进制的一个位,中文叫“字元”,
英文叫 bit.
" C语言说char是16位" 这里可能有中英文 误解。
有个 “字符集”的概念,例如,ASCII 字符集里,一个字符 是 8 字元,中文双字节编码字符 是 2字节 16字元。还有其它编码的 里的 字符,可能 是 多少多少 字节。
字符 英文叫 character。大概某些人混淆了 某 set 里 的 character 是16位,变成 char是16位了。
c 语言可以用 sizeof(char) 算得 char 占的内存字节数,你输出看看:
printf("%d", sizeof(char));

C语言中,char是一字节,八位。一字节等于八位

你是不是记错了?char型是1个字节,8位,不是16位。 位,字节都是单位,一个字节等于八位。就好像是一米等于100厘米。
int型就是4个字节,4*8=32位。float型也是4个字节,4*8=32位。


在C语言中,定义了一个字符变量,给他赋值一个1,为什么也可以啊
有一个东西叫ASCLL码。就是说在这里的每一个字符都有对应的无符号整形数值。从0-255共256个。刚刚好是一个字节,就是一个char型变量的字节数。例如 printf("%c%d",A,A);会输出 A,65。其实65这个整形数在ASCLL码里面表示的就是A,在C语言中,它们只是显示出来不同而已。所以你给一个char变量...

C语言char字符变量可以 :1='c',2='b'吗,如果不能为什么不能_百度知 ...
不行。因为数字被默认的是int型常量,常量不能当左值——即不能为常量赋值。1='c'和2='b'都违反了这一规则,试图为常量1和2赋值。

char和byte是一个意思?
Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。3、另外char可以表示中文字符,byte不可以。用法举例:char e1 = '中', e2 = '国';byte f= (byte) '中'; \/\/必须强制转换否则报错 参考资料:百度百科-char 参考资料:百度百科-byte ...

C语言中 char a=1,char b=2,如何表示12,然后 char a=12,char b=58,如...
include <stdio.h> include <string.h> define MAX 10 int main(){ char str1[MAX], str2[MAX], str3[2*MAX];int i, j, len1, len2;gets(str1);fflush(stdin);gets(str2);str3[0] = '\\0';len1 = strlen(str1);len2 = strlen(str2);strcat(str3, str1);strcat(str3...

C语言char类型可以赋值为-1吗?
char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;因为-1是在char表示的范围是-128~127内部,所以char类型完全可以赋值为-1

求c语言高手,为什么我想要把一个数字存入数组,比如1放到char a 中...
1是数字,'0'是字符,ASCII码值为48 '\\0'是八进制形式,的0,对应于ASCII码表中ASCII值为0的字符,其实就是空字符。数组以'\\0'结束是指字符串以'\\0'结束,并不是用于计算的。整形数据和字符数据在计算时是可以混用的,只要注意各自代表队数值。比如 '0'可以直接拿来当48来用,('0'+1)的...

char ch在c语言中是什么意思?
char说明数据类型是字符型,ch是变量名(可称为字段)。fgetc()使用举例:表示从D:\\\\demo.txt文件中读取一个字符,并保存到变量ch中。char数据类型 (1)定义:char型数据是计算机编程语言中只可容纳单个字符的一种基本数据类型。(2)取值范围:char : -2^7 ~ 2^7-1 ;signed char: -2^7 ~...

char b="1"在c语言中占几个字节
你好。首先,这种赋值方式是有问题的。如果你说的是char b = '1';那么它占一个字节。你可以用printf("%ld\\n", sizeof(b));来查看

int与char区别
2、内存大小不同 int 的内存大小是4 个byte。char 的内存大小是1 个byte。float 内存大小是4 个byte。3、表示的数据范围 int:数的范围为-(2的31次方-1)到(2的31次方-1),数字为-2 147 483 647~2 147 483 647。char:-128- 127。float:整数极限为3.4*10^38,负数亦然。参考资料...

若ch是char型变量,ch=1输出的程序片段的结果是什么?
看你用什么输出,如果是标准输出的话,那就对照ASCII表,是什么符号就是什么符号;通常char型变量在代码中用来限制传递256以内的数字,然后回传给上位机或下位机处理,目的是限制数字大小,也可以限制存储空间;

宁国市17149272922: C语言说char是16位,又说他是1字节(byte)字节和位有啥区别? -
历胥米氮: 你是不是记错了?char型是1个字节,8位,不是16位. 位,字节都是单位,一个字节等于八位.就好像是一米等于100厘米. int型就是4个字节,4*8=32位.float型也是4个字节,4*8=32位.

宁国市17149272922: c语言中,char占一个字节,为什么是16位? -
历胥米氮: c语言就是这般不好,在不同的系统下,同一种数据类型占用的内存大小却有可能不一样. c#就没这个问题,只要是char,不管是在XP还是在Win10下,都是2个字节.

宁国市17149272922: C语言 下面是不是错了? -
历胥米氮: 所以再char类型长为16位,double类型长为64位的系统中这是前提,后面的是基于上面所描述的这个系统平台上讨论的 ,char 是一个字节 double 是64位 ,那么在上面那种系统中,sizeof就是4字节了,我感觉这句话的目的在于数据类型的长度在不同的系统中是不一样的.很简单的比如int类型了以上个人理解

宁国市17149272922: c语言中char是什么意思 -
历胥米氮: 楼上完全是误导人,什么字符变量啊! char 是一个数据类型,作用才是定义字符型变量(单个或是字符串). 比方int 是整形数据,int a = 3;这里int 是类型, a 是整型变量,3是赋值; char s = 'A'; char是字符类型,s是字符型变量,A是赋值给变量s; char s[] = "c program"; char是字符类型,s[]是字符型数组,"c program"是赋给数组的值.

宁国市17149272922: C语言中的char具体用法 -
历胥米氮: C语言中char用于定义字符类型变量或字符指针变量,例如“char a;”则定义了变量a是字符类型,“char *a;”则定义了变量a是字符指针类型. char是C语言整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认...

宁国市17149272922: 关于C语言问题
历胥米氮: int型占16位,除去1位符号位剩下15位,最小的整数是-2^15=-32768,最大的是2^15-1=32768-1=32767. char型占8位,除去1位符号位剩下7位,最小的整数是-2^7=-128,最大的是2^7-1=128-1=127.

宁国市17149272922: C语言中char是几进制? -
历胥米氮: char就是ASCII码的表示. 在计算机语言里,ASCII码都是2进制的. 当你把它转换成一般的语言时才用10进制、16进制、8进制、字符等表示方法来让你看懂.

宁国市17149272922: 请问C语言中 char far 是什么意思? -
历胥米氮: near指针和far指针?在DOS下(实模式)地址是分段的,每一段的长度为64K字节,刚好是16位(二进制的十六位). near指针的长度是16位的,所以可指向的地址范围是64K字节,通常说near指针的寻址范围是64K. far指针的长度是32位...

宁国市17149272922: 关于C语言中字符型变量
历胥米氮: int 是16位的,char是8位的,当整型量按字符型量处理时,会把int 前面的八位舍弃掉,所以当int 大于255的数字时,强制转换成char,前面八位就没有了,精度变小了.所以转换的时候要小心,可能转换后得到的值并不是你所想要的值

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网