在计算机科学中,二进制数是一种用 0 和 1 表示的数字系统,其中每一位数字称为“位”(bit)。例如,二进制数1101表示十进制数13。
在二进制数中,最高位是符号位,代表正负数的符号。如果符号位为0,则该数为正数;如果符号位为1,则该数为负数。
在确定符号位时,有两种约定:
第一种约定是将最高位作为符号位,0表示正数,1表示负数。
第二种约定是将最高位作为数值位,0表示正数,1表示负数。这种约定需要使用补码运算来计算负数的数值。
计算机在进行数字运算时,需要能够区分正负数。如果没有符号位,就不能区分正负数。例如,在二进制数中,0001和1111都表示正数1,没有办法区分。
符号位的存在让计算机能够进行有符号运算,如加减法、比较大小等。
在计算机中,常用的整数数据类型有有符号整数和无符号整数。有符号整数使用符号位表示正负数,而无符号整数不使用符号位。
例如,有符号整数int在大多数计算机中占用4个字节,能表示的范围是-2147483648至2147483647。而无符号整数unsigned int在大多数计算机中也占用4个字节,能表示的范围是0至4294967295。