j**a代码问题

时间:2013.09.10 发布人:sky_310

j**a代码问题

已解决问题

谷歌sky_310用户在2013.09.10提交了关于“蒙迪欧j**a代码问题”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-11-10T16:01:49。classcode1
{
publicstaticvoidmain(String[]args)
{
inta=4;
System.out.println("a非的结果是:"+(~a));
}
}
运行结果是-5,怎么算的呢?希望大家能够帮助她。

详细问题描述及疑问:classcode1
{
publicstaticvoidmain(String[]args)
{
inta=4;
System.out.println("a非的结果是:"+(~a));
}
}
运行结果是-5,怎么算的呢?期待您的答案,谢谢你帮我,祝你快乐,愿你事事如意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:qq42229288  

~是取反运算

首先,你要知道j**a中计跑威的int是32位的
其次,正数以原码的形式存储,负数以补码的形式存储
4的二进制是00000000000000000000000000000100

取反后得11111111111111111111111111111011

j**a中都是有符号数,首位是1,所以是负数,负数也就是补码,也就是说
11111111111111111111来自11111111101滑1是补码
补码,反码加1后得源码
转换成问答源码得00000000000000000000000000绿行却难000101
这个数是5,加上符号就是-5