早教吧 育儿知识 作业答案 考试题库 百科 知识分享

javs中,int类型整数8,取反得到结果-9,以二进制输出得到1111111111111javs中,int类型整数8,取反得到结果-9,以二进制输出得到11111111111111111111111111110111感觉费解,问,这个二进制数等

题目详情
javs中,int类型整数8,取反得到结果-9,以二进制输出得到 1111 1111 1111 1
javs中,int类型整数8,取反得到结果-9,以二进制输出得到
1111 1111 1111 1111 1111 1111 1111 0111
感觉费解,问,这个二进制数等于-9?
▼优质解答
答案和解析
int型是32位整型数据类型,int型的8在内存里占32bit,存储为
00000000 00000000 00000000 00001000
,按位取反操作后,就变成了你输出的那样。而且这个二进制默认是有符号型的整数,其最高位的1是代表负号,我们知道二进制负数表示为数值位取反再加1(也就是补码),依照这个,对你输出的数减1,取反(第一个1是符号位,不变),得到其原码:
10000000 00000000 00000000 00001001,
也就是负9。