初学者关于int转换char和short的问题? public static void main(String[] args) { int i = 32769 ; int k = 433 ; byte b = (byte)i ; char c = (char)k ; System.out.println(b) ; System.out.println(c) ; }请问byte b为什么是1,具体是怎样转换的?char c输出为什么是个问号?请各位前辈解释清楚一点,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int转换为byte,只取int数据的低8位,因为32769的二进制数据是1000000000000001,则取低八位就是00000001,转换为十进制就是1.int转换为char是取数据的低16位,而且转换出来的数值是字符的编码,你的机器上433对应的字符无法显示,所以显示问号。 很明显是个值的范围问题查一下 int charbyte他们的取值范围 java实现三个线程间通信 java空格长度 持续集成环境jaxb将Java对象转化成文件多了节点多了前缀ns2,本地打包单元测试都没问题。 帮忙出主意 急急急!!! 找个高手帮我把这个没有写完的程序写完,谢谢了. 关于 正则表达式 急 在线等 Object类的输出问题. 如何读取midi文件,转换成16进制的编码 Eclipse中Class.forName()的问题 如何使有Icon按钮的文字显示在Icon下方? myeclipse6.0的使用问题 一个非常简单的toString的方法,大家帮我看看到底哪儿错了..拜托
int转换为char是取数据的低16位,而且转换出来的数值是字符的编码,你的机器上433对应的字符无法显示,所以显示问号。
查一下
int
char
byte
他们的取值范围