课程
/后端开发
/Java
/二进制基础
14的反码的二进制是11111111111111111111111111110001,为什么转换成十进制就是-15了?按照这串二进制转换成十进制的话不该是很大的一个数字么?
2016-04-25
源自:二进制基础 3-1
正在回答
整数讲反码没有意义,负数用反码表示
正数的反码就是原码
你清楚原理就搞清楚了:首先在计算机中负整数的存储是使用对应正整数的补码形式存储的。上面一大串就是补码
要看它的10进制的值,要对其解码:解码步骤是:1->最高位是1,判断出这个数是负数,2->将这一大串减去1,然后取反码,得到11111,即十进制的15,3->将负号添上,即是-15
如果你手上有《计算机科学导论》这本书,看下第3和4章就很清楚了
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
如:原码10010= 反码11101 (10010,1为符号码,故为负)
所以14的反码还是14.
榎目贵音 提问者
举报
二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识