“数制”是“数据进制”的简称,又称“进位计数制”,简称“进制”,也就是标识数据逢几进位的意思,如我们常用的十进制就是逢十进位。
十进制:Decimal 如:(1250)D 和(1250)10 都是表示十进制数据(注意:数字标识的进制是下标)
二进制:Binary 如:(1001010)B和(1001010)2 都是表示二进制数据
八进制:Octal 如:(4603)O和(4603)8 都是表示八进制数据 在C C++这类语言中规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如123是十进制,但0123则表示采 用的是八进制
十六进制(Hexadecilmal) 如:(4603)H和(4603)16 都是表示十六进制数据 十六进制也常常用前缀0x来表示,在C C++这类编程语言中也规定,16机制数必须以0x开头
二进制数的真值和字长 我们基本都知道二进制的负数是通过其正数的补码形式来表示的,那什么是补码呢?这还得从原码、反码说起。在计算机二进制中其实也包括符号位,并不是所有未都代表数据本身,就像我们常用的十进制数中有正、有负一样。但是二进制中没有“-”这个符号,那么计算机中的机器数的符号是怎样规定的呢?这得从机器数的两个基本概念(真值和字长)说起。 (1)真值 计算机中的二进制机器数分为“有符号数”和“无符号数”两种。“无符号数”就是二进制数的每一位都代表对应的数值;而在 “有符号数”中规定最高位用来表示数据符号,其中1代表负,0代表正。 为区别起见,把带符号位的机器数所对应的真正数值称为机器数的“真值” (2)字长 “字长”是指计算机一次可处理的二进制数的码位长度,是计算机进行数据存储和数据处理的运算单位。
二进制数的四种表示形式 计算机中的二进制数有四种主要表示形式,那就是原码、反码、补码和移码。反码和补码是为了在二进制中表示负数而产生的。 (1)原码 “原码”就是“原始码位”,或者“原始编码”的意思,就是对应二进制数本身所代表的形式。 (2)补码 补码是为了实现异号相加、减的正确性而产生的。 补码的编码规则如下:正数的补码和原码相同;负数的补码是通过先把除符号位外其他各位取反,再在末位(最低位)加1得到的。 (3)反码 正数的反码就是本身,负数的反码就是除符号位其余全部取反。 (4)移码 可以如此得到:先求出二进制数的补码,然后在把符号位取反就行了