转化超过128的整数为char的机制是什么?初学。。
在ASCII表上查询不到超过128的整数对应的字符,那如果我int x2 = 130;
char x3 = (char)x2;
或是int X2=4900;
对应的字符是遵循怎样的机制设定的?
初学C,不胜感谢~~ 就是X3应该是对应什么字符的机制怎么设定的?
比如我知道int的65和char的A是一个二进制码0100 0001 ASCII 码的范围是 0 - 127,你为什么非要看超出的编码?
好比一家饭馆,别人明确告诉你,可以做 128 道菜,你却非要点第 130 道是几个意思,难道听不懂什么是规定吗? 128—255的是扩展字符,比如说227的pi(圆周率)不经常用,其中也有很多字符时打印不出来的,是控制字符 非ascii字符,根据编码确定
并且很多时候单字节字符并不代表任何意义,
当使用你的类型是char时,默认使用多字节字符集(在中国,汉字扩展码一般是GB2312或GBK)
如“小甲鱼”3个字符的编码就是208 161 188 215 211 227
占用六个字节(不包含末尾0) jackz007 发表于 2019-12-17 15:22
ASCII 码的范围是 0 - 127,你为什么非要看超出的编码?
好比一家饭馆,别人明确告诉你, ...
因为学C的目的就是探究计算机的底层逻辑运行,所以任何东西都要刨根问到底{:10_277:} sanguine_boy 发表于 2019-12-17 15:23
128—255的是扩展字符,比如说227的pi(圆周率)不经常用,其中也有很多字符时打印不出来的,是控制字符
谢谢老师指导{:7_132:}
页:
[1]