fiverhythm 发表于 2019-12-17 14:32:29

转化超过128的整数为char的机制是什么?初学。。

在ASCII表上查询不到超过128的整数对应的字符,那如果我

    int x2 = 130;
    char x3 = (char)x2;

        或是int X2=4900;

        对应的字符是遵循怎样的机制设定的?

初学C,不胜感谢~~

fiverhythm 发表于 2019-12-17 14:34:19

就是X3应该是对应什么字符的机制怎么设定的?
比如我知道int的65和char的A是一个二进制码0100 0001

jackz007 发表于 2019-12-17 15:22:26

      ASCII 码的范围是 0 - 127,你为什么非要看超出的编码?
      好比一家饭馆,别人明确告诉你,可以做 128 道菜,你却非要点第 130 道是几个意思,难道听不懂什么是规定吗?

sanguine_boy 发表于 2019-12-17 15:23:36

128—255的是扩展字符,比如说227的pi(圆周率)不经常用,其中也有很多字符时打印不出来的,是控制字符

Croper 发表于 2019-12-17 15:49:55

非ascii字符,根据编码确定
并且很多时候单字节字符并不代表任何意义,

当使用你的类型是char时,默认使用多字节字符集(在中国,汉字扩展码一般是GB2312或GBK)
如“小甲鱼”3个字符的编码就是208 161 188 215 211 227
占用六个字节(不包含末尾0)

fiverhythm 发表于 2019-12-17 18:49:58

jackz007 发表于 2019-12-17 15:22
ASCII 码的范围是 0 - 127,你为什么非要看超出的编码?
      好比一家饭馆,别人明确告诉你, ...

因为学C的目的就是探究计算机的底层逻辑运行,所以任何东西都要刨根问到底{:10_277:}

fiverhythm 发表于 2019-12-17 18:52:25

sanguine_boy 发表于 2019-12-17 15:23
128—255的是扩展字符,比如说227的pi(圆周率)不经常用,其中也有很多字符时打印不出来的,是控制字符

谢谢老师指导{:7_132:}
页: [1]
查看完整版本: 转化超过128的整数为char的机制是什么?初学。。