课程
/后端开发
/Java
/二进制基础
为何207变成了-49
2016-09-22
源自:二进制基础 5-1
正在回答
如果按照java 中的byte 的数据类型 11001111 表示对应的数应该是 11001111减去1 再 除最高位 再取反,就是
10110001 就是-49了,最高位的1代表负数
无符号和有符号是两种数据了,
有符号的11001111 第一位是符号位,为1则表示负数,为0表示正数。
要知道有符号的11001111的十进制数,可以这样来:
第一步,11001111 - 1 = 11001110
第二步,按位取反 00110001
第三步,00110001这个数就是它的正数二进制表示了,49。所以原来的负数就是-49
举报
二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识