进制以及进制转换
简介:
进制也就是进制位,常用的进制有二进制、八进制、十进制、十六进制。
二进制:
由 0 1 组成,逢二进一
八进制:
由 0 1 2 3 4 5 6 7 组成,逢八进一
十进制:
由 0 1 2 3 4 5 6 7 8 9 组成,逢十进一
十六进制:
由 0 1 2 3 4 5 6 7 8 9 a b c d e f 组成,逢十六进一
二进制与十进制之间的转换:
二转十,二进制的每个数乘以2的权位次幂,最后相加
十转二,一直除以二,直到商为0,取每次的余数,倒序
二进制与八进制之间的转换:
二转八,三位一取,把每三位二进制数转为十进制数,然后拼接,高位不够补0
八转二,一转三位,把每个八进制数按照十转二的的方式,转为三位的二进制数,不足时在左边补0,前后拼接
二进制与十六进制之间的转换:
二转十六,四位一取,把每四个二进制数转为十进制数,然后拼接,高位不够补0
十六转二,一转四位,把每个十六进制数按照十转二的方式,转为四位的二进制,不足时左边补0,前后拼接
原码、反码、补码:
计算机是以二进制的补码保存数据的
最前边的为符号位,正数为0,负数为1
原码:
原码就是符号加上真值的绝对值
反码:
正数的反码是其本身
负数的反码是在其原码的基础上,符号位不变,其余各位取反
例:[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
补码:
正数的补码是本身
负数的补码是在其原码的基础上,符号位不变,其他位取反,最后+1(即在反码的基础上+1)
例:[+1] = [00000001]原 = [00000001]反 = [000000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补