A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 静心鱼 中级黑马   /  2013-8-31 13:03  /  997 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

将一个负数强制转化为char类型,不是将它的二进制码符号位看做数值位进行计算么,
可为什么我在运行程序的时候发现将int类型强制转换为char类型的话负数最多可以转换到-2147483648
这个不是32位的二进制么?想知道那个转换过程是什么样的、

评分

参与人数 1技术分 +1 收起 理由
薛鹏鹏 + 1

查看全部评分

2 个回复

倒序浏览
本帖最后由 范龙波 于 2013-9-1 15:00 编辑

你要知道,int ,char 都是4个节,但它们的取值不是同的.
解答你转化过程问题
int + char -->自动将转int
int --> char是一个取值,查表(ASCII)的过程
char--> int 查表,取值的过程
以下几组比较帮你理解!

打印结果:

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
虽然还是有点小晕 、还是谢谢、
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马