关于char的问题 求普及 char a='h';char b='c';a=(char)-b;System.out.println((int)a);这是什么意思? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 char和int内部都是个数字类型char可以变成intint可以变成char你想问什么? 它是将char转换成int类型,输出的是'c'所对应的int类型值负值 char a='h';char b='c';System.out.println(Integer.toBinaryString(b));//1100011,char其实就是2个字节的,无符号的int,也就是说char的最高位是1的话,并不代表负数。a=(char)-b;//b是char类型,-b会默认转换成intSystem.out.println(Integer.toBinaryString(-b));//11111111111111111111111110011101,按位取反,然后加1,int有32位,最高位1代表是负数。//赋值给a,a是char,截取后面的16位System.out.println(Integer.toBinaryString(a));//1111111110011101//最高位是1,但是并不是负数System.out.println((int)a);//65437 在unicode编码中,52个大小写字母对应一个特定的数字值,所以char类型可以进行加减之类的运算。。 同意(若鱼)的说法,这块主要看a=(char)-b;计算机里负数是用补码表示的。 再补充一句,char是无符号型的,-b会补自动转换成int型,所以用char将其强转一下(此时就会用补码表示)。 关于工厂模式中具体产品的"小小变异" 求您了,帮助看下,俺新来的. 借宝地一用 是否可以将已有的java代码编译成dll,以供C++调用呢? 搞java在深圳工资怎么样? 关于java 类中变量存取权限的问题 谁有完整的需求规格说明书,请发给我一份。。 Java语言随想 怎样看到java程序经过编译后的代码内容(bytecode的)或者在bytecode在JVM执行时JVM所解析的代码 如何写一个接口,用JSON返回数据.急急急.....求大神代码 条码打印不出来!或者说Barcode类打印不出来。!!!!!!!!!! java 解析excel的问题
int可以变成char你想问什么?
char a='h';
char b='c';
System.out.println(Integer.toBinaryString(b));//1100011,char其实就是2个字节的,无符号的int,也就是说char的最高位是1的话,并不代表负数。
a=(char)-b;//b是char类型,-b会默认转换成int
System.out.println(Integer.toBinaryString(-b));//11111111111111111111111110011101,按位取反,然后加1,int有32位,最高位1代表是负数。
//赋值给a,a是char,截取后面的16位
System.out.println(Integer.toBinaryString(a));//1111111110011101//最高位是1,但是并不是负数
System.out.println((int)a);//65437
在unicode编码中,52个大小写字母对应一个特定的数字值,所以char类型可以进行加减之类的运算。。
同意(若鱼)的说法,这块主要看a=(char)-b;计算机里负数是用补码表示的。