计算机基础之进制之间的关系和转换
计算机中常见的进制
计算机的运行计算基于二进制,1代表通电(开),0代表断电(关)。
十进制常见于我们的日常生活,十六进制(字母不区分大小写)常见于内存地址,注册表regedit,MAC地址等。计算机中八进制比较少见不常用,一般用于某些编程语言。
bit(比特):在计算机中,数据的最小单位是位,位是指一位二进制数,英文名称是Bit。也称比特,1位信息只能表示2个状态(0或1)中的1个。
B或Byte:字节,记为Byte或B,是计算机中信息的基本单位,表示8个二进制数位。在计算机编码中,每1个字节可编码二个数字或1个字母,每二个字节可编码1个汉字。
1Byte(字节)=8bit(比特)
1KB=1024Byte
1MB=1024KB
向上的单位还有GB、TB、PB、EB、ZB、YB、BB等
计算机本身使用二进制,实际使用起来很不方便,十六进制或八进制可以很好的解决这个问题(换算的时候1位十六进制数可以用4位二进制数代替,1位八进制数可以用3位二进制数代替)。进制越大,数的表达长度也就越短,如二进制数111111111111用十六进制表示为FFF,这样更简短,比较节省空间,方便读,也方便记。
二进制、八进制、十六进制数转换成十进制
数字是有若干个数字n组成,n所处的位置不同,表示的数据也不同,其所处位置称作权。从后向前(从右向左)顺序各个位上都n表示十进制的含义:
第1个n表示:进制数0次方的个数 第2个n表示:进制数1次方的个数 第3个n表示:进制数2次方的个数 ... 第x个n表示:进制数x次方的个数
如:二进制1101换算成十进制:
1×2^0 + 0×2^1 + 1×2^2 + 1×2^3 =1+0+4+8=13
同理:十六进制2B5F换算成十进制:
F×16^0 + 5×16^1 + B×16^2 + 2×16^3 =15×16^0 + 5×16^1 + 11×16^2 + 2×16^3 =11103
3、十进制转换成二进制、十六进制、八进制
十进制转换成二进制通常采用“除2取余,逆序排列”的方法。具体做法是用2整除十进制整数,可以得到一个商和余数,再用2去除商,又会得到一个商和余数,如此反复,直到商为0停止。再把先得到的余数作为二进制低位有效位,后得到的余数作为二进制高位有效位,依次排列。
如:将十进制“11”转换为二进制 11除以2,商为5,余数为1 5除以2,商为2,余数为1 2除以2,商为1,余数为0 1除以2,商为0,余数为1 那么十进制数11转化为二进制为1011
同样的,十进制转换为十六进制和八进制,采用“除16取余,逆序排列”和“除8取余,逆序排列”的方法。但是由于十六进制和八进制的基数问题(太大或不太好算),它们的“幂次方”和“除基数取余”计算起来比较麻烦,为了方便计算,通常建议先把它们转换位二进制后再继续转换为相应的进制。