全站数据
8 4 2 0 5 8 1

补码为什么每一位取反后再加1

考研干货铺 | 简单学习,快乐成才!         
问题更新日期:2024-11-02 07:28:40

问题描述

补码为什么每一位取反后再加1希望能解答下
精选答案
最佳答案

补码特性:一个负整数(或原码)与其补数(或补码)相加,和为模。如 0000~1111 的模为16,而1111 表示的数最大却是15 而不是16,少了一个1,而0000表示0而不是1(是0到15的关系,而不是1到16的关系)。

1111直接取反的话为0000,1111+0000=1111表示为15。所以补码需要加上那一个1。才能使1111+0001=10000为16.但16已经超出了表示范围。当按位减时,需要加上最后那个1。