‘壹’ 为什么书中说【char实际存储的是数字】
因为计算机只认识0 1 ,所以任何字符在计算机中都是以这种二进制形式表示,当然是数字了!char ch='a' 表面上看ch是字符,实际上在计算机中表示的是'a'的ASCII码的二进制形式之所以写成ch='a',是为了更接近人类语言,方便人的使用,编译器会自动转换成二进制形式以让计算机计算!
‘贰’ char型数据在内存中是怎么储存的下面的对吗
char是以8位二进制数存储的。
注意,不是什么ASCII码值,
ASCII码值范围为0~128,扩展的为0~256,和char型数据的储存没有关系
‘叁’ c语言中,char型数据在内存中的存储形式是什么
char类型数据依据ASCII码以整型数据的补码形式存在内存中!!!
‘肆’ char型数组难道可以储存整数吗
char型, 就是1字节整型,只要数值在1字节范围内,就可以1个字节存1个数。
例如:
char s[10]={ 31, 32,33,34,35,36,37,38,39,40};
int i; for (i=0;i<10;i++) printf("%d ",s[i]);
输出: 31 32 33 34 35 36 37 38 39 40
另外,也可以以字符串形式存放整数:
char s[10]="1234567";
int i;
sscanf(s,"%d",&i); // 转换为 整型
printf("%d\n",i); // 输出i.
再有,也可以以字符串形式存放2进制,16进制等型式的 整数。可以用 strtol() 函数转换成整数。这里不细谈。
‘伍’ c语言在内存char型数据以什么形式储存
char是以8位二进制数存储的。
注意,不是什么ASCII码值,
ASCII码值范围为0~128,扩展的为0~256,和char型数据的储存没有关系
‘陆’ char(11)为啥只能存10位整型数值
char(11)你可以通过理解 char ch[11]来理解:
首先我们知道,char ch[11]; 是一个分配了11字节空间的char数组。
其次,char数组在保存字符串的时候,通常最后一个字节是用来保存 ‘\0’的,表示结束符。
所以此时用来保存有效数值的只剩下10个字节了。
注意:
1、char 类型通常指的是signed char (有符号的)。
2、char 类型在保存整形数值时,只能保存 -128 ~127中的数, 否则会造成溢出。
如果以上回答对你有帮助, 请采纳一下, 谢谢。
‘柒’ char 也可以用来表示数字的数据类型吗。。
char可以赋值给整数类型,但是如果要用char表示数据类型,只能是整数类型,且范围一般不能超出-128~127.超出会溢出的
‘捌’ char取值范围
1、char取值范围是 -128~+127。
2、我们先来看 signed char的最大值。 最高位是 符号位, 0 代表正数; 1 代表负数。0 1 1 1 1 1 1 1 这个值等于 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 = 127 。 也有一个简便计算方法:2^7 -1 = 128-1 =127 所以,signed char 的最大值是 127 。
singed char 的最小值计算。 在计算机中,数值是以补码形式存储的。正数的补码是其本身; 而负数的补码是 取反 (符号位保持不变),再加1。
我们先来看 -1 的存储过程:
-1: 1 0 0 0 0 0 0 1 ->(取反) 1 1 1 1 1 1 1 0 ->(加1) 1 1 1 1 1 1 1 1
-2: 1 0 0 0 0 0 1 0 ->(取反) 1 1 1 1 1 1 0 1 ->(加1) 1 1 1 1 1 1 1 0
-3: 1 0 0 0 0 0 1 1 ->(取反) 1 1 1 1 1 1 0 0 ->(加1) 1 1 1 1 1 1 0 1
… …
-127 1 1 1 1 1 1 1 1 ->(取反) 1 0 0 0 0 0 0 0 ->(加1) 1 0 0 0 0 0 0 1
-128 1 0 0 0 0 0 0 0 ->(取反) 1 1 1 1 1 1 1 1 ->(加1) 1 0 0 0 0 0 0 0
不管是原码还是补码, 总会出现 -0 这个值。 本来 +0 与 -0 是没有区别的。 但对于存储器和编译器来讲,总得充分利用每个字节吧, 更不想出现二义性。 所以,将 -0 表示为 -128 , 这样既增大了signed char 数值的表示范围,又消除了 -0 的二义性。
所以signed char的取值范围是 -128~127。
(8)char存储数值扩展阅读
在MYSQL中,字段类型char是指:使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的1个字节(八位)来存储数据,不足8位的字符串在其后补空字符。
字符转换
在excel中char函数用于返回对应发于数字代码的字符。其用法:=char(number)
其中,参数number为转换的字符代码,介于0~255之间,char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;uchar表示无符号的类型,所以表示的范围是0~255。
代数概念
char是characteristic的简写,表示一个环或者域的特征,即最小的非负整数n,使ne=0。(e为单位元) 。
参考资料来源:网络—char
‘玖’ char型数据在内存中以什么形式储存
char是以8位二进制数存储的。
注意,不是什么ascii码值,
ascii码值范围为0~128,扩展的为0~256,和char型数据的储存没有关系