鱼C论坛

 找回密码
 立即注册
查看: 1710|回复: 6

[已解决]转化超过128的整数为char的机制是什么?初学。。

[复制链接]
发表于 2019-12-17 14:32:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

        或是int X2=4900;

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

初学C,不胜感谢~~
最佳答案
2019-12-17 15:49:55
非ascii字符,根据编码确定
并且很多时候单字节字符并不代表任何意义,

当使用你的类型是char时,默认使用多字节字符集(在中国,汉字扩展码一般是GB2312或GBK)
如“小甲鱼”3个字符的编码就是
  1. 208 161 188 215 211 227
复制代码

占用六个字节(不包含末尾0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-17 14:34:19 | 显示全部楼层
就是X3应该是对应什么字符的机制怎么设定的?
比如我知道int的65和char的A是一个二进制码0100 0001
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-17 15:22:26 | 显示全部楼层
        ASCII 码的范围是 0 - 127,你为什么非要看超出的编码?
        好比一家饭馆,别人明确告诉你,可以做 128 道菜,你却非要点第 130 道是几个意思,难道听不懂什么是规定吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-17 15:23:36 | 显示全部楼层
128—255的是扩展字符,比如说227的pi(圆周率)不经常用,其中也有很多字符时打印不出来的,是控制字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-17 15:49:55 | 显示全部楼层    本楼为最佳答案   
非ascii字符,根据编码确定
并且很多时候单字节字符并不代表任何意义,

当使用你的类型是char时,默认使用多字节字符集(在中国,汉字扩展码一般是GB2312或GBK)
如“小甲鱼”3个字符的编码就是
  1. 208 161 188 215 211 227
复制代码

占用六个字节(不包含末尾0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

因为学C的目的就是探究计算机的底层逻辑运行,所以任何东西都要刨根问到底
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢老师指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 21:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表