char c=98;
System.out.println(c);
我们知道打印出来的会是b这个字符。问题如下:
1.java采用的是什么编码集?
2.一个char会开辟多大的空间
3.字符b是如何等价与98的
4列举一些能能用char输出b键的负数(思路)
1.unicode编码集
2.2字符16位的空间。
3.98作为一个整数,默认是int,在计算机中默认是一个32位2进制数字。但char是16位的,所以在转换中,会去掉高位前十六位数字,留下代表98的16位二进制数字 0000 0000 0110 0010.这个16位数字在unicode编码表中对应的字母便是b。
4,首先,若是负数的话。32位二进制数字开头便应该是1,由于int转为char时候会去掉前十六位数字,所以只需由1开头,1之后15位由1或者0随意组合,保证后十六位数字是0000 0000 0110 0010即可。把这个32位二进制数字看作补码转换成原码,并由二进制数字转换成10进制数字,便是可以转化成b的负数了,这样的数字有,2的15次方个。