[求助]shot,int区别
我用short x=5;
byte y=2;
时发现虽然X,Y声明的类型为16位与8位.但我发现它们实际占用了32位(int型).
这是不是因为给X,Y负的值都是INT型.那JAVA中可以强调X,Y为SHORT或BYTE型吗
比如LONG X=345L;//这儿就用L强调345为长整型
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
你怎么知道它们实际占用了32位(int型)呢?
----------------解决方案--------------------------------------------------------
因为我声明了short a=3;
然后用Integer.toBinaryString(~a)输出时发现结果是32位二进制
----------------解决方案--------------------------------------------------------
那里然,你用的是Integer的方法,你为什么不用一下Short的方法呢
----------------解决方案--------------------------------------------------------
值得注意的是,对byte和short型进行移位运算的时候,JAVA将会对这些类型扩大为int型,并且表达式也是int型。
----------------解决方案--------------------------------------------------------
楼上说的对,我看书也这样说过:进行移位时,short,byte,int超过32位则取余,LONG超64取余
你为什么不用一下Short的方法呢
short的方法是不是short.toBinaryString()
----------------解决方案--------------------------------------------------------
short不是也属于Integer类吗,怎么它还有自己的方法吗?
----------------解决方案--------------------------------------------------------
谁说Short属于Integer?
----------------解决方案--------------------------------------------------------
它们关系是怎么样的,给我讲讲
----------------解决方案--------------------------------------------------------