int g = 269;//1_0000_1101
System.out.println( length(Integer.toBinaryString(g)));
这将打印18(为什么?),但我想要打印9.我该怎么做?
答案 0 :(得分:1)
System.out.println(Integer.toBinaryString(g).length());
会从String
打印出返回的toBinaryString
的长度。你正在衡量声明的长度。
答案 1 :(得分:1)
如果对整数使用Integer对象,则Instrumentation库中的getObjectSize(Object o)方法就是你的人:http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/Instrumentation.html
这有几个主题。
干杯!