Java 关于“按位取反”的问题。 各位大佬好,小白想请教一下。char是2字节,16位,变量 x的值,在unicode表上十进制为97,二进制表示是否为00000000 01100001, 我想请问取反后不应该是11111111 10011110, 输出的结果为什么不是-158,而是98? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 得看你的数据类型了,比如说你写12,默认的就是int的12int是32位的12=00000000 00000000 00000000 00001100~12=11111111 11111111 11111111 11110011第二个问题,有符号整数是按照最高位判断正负的(java中的数值除了char都是有符号的,都符合这个规则),如果x最高位是1,那么该数是负数,其值为 -((~x)+1),因此11111111 11111111 11111111 11111111作为int型的话,因为最高位为1,所以其值为 -(0+1)=-1根据上面的理论,~12=-(~(~12)+1)=-13 新手菜鸟求解,杭电ACM输出问题。 tomcat中可以运行EJB吗?应该怎样部署? 请教:定理自动证明程序实现 java连接数据库的问题 请问怎莫在jbuilder9中布局???? 讨论: 怎么样去读jboss的源代码。 弹出对话框的问题 Sybase 的JDBC 问题,,,请大家帮忙 书上的一个关于数据封装的例题,为何运行出错?请高手指点。 Hibernate 的Criteria 怎么返回List<String> spring的声明式事务管理纯注解,万分感谢 求大佬带我
int是32位的
12=00000000 00000000 00000000 00001100
~12=11111111 11111111 11111111 11110011
第二个问题,有符号整数是按照最高位判断正负的(java中的数值除了char都是有符号的,都符合这个规则),如果x最高位是1,那么该数是负数,其值为 -((~x)+1),因此
11111111 11111111 11111111 11111111作为int型的话,因为最高位为1,所以其值为 -(0+1)=-1
根据上面的理论,~12=-(~(~12)+1)=-13