紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明
数制概述
“数制”就是“数据进制”的简称,是指数据的进位计数规则,又称“进位计数制”,简称“进制”。
常见数制类型及表示方法
1. 十进制(Decimal)
2. 二进制(Binary)
3. 八进制(Octal)
4. 十六进制(Hexadecimal)
不同进制的相互转换(小数和整数的转换道理一样)
非十进制数转换成十进制数
权值:
“权值”是指对应数值位的进制幂次方数,如二进制整数中第0位(最低位,也就是整数最右边的那位)的权值是2的0次方,第1位的权值是2的1次方,以此类推;同理在八进制整数中第0位的权值是8的0次方,第1位的权值是8的1次方……,以此类推。
二进制转换为十进制
为1的位权值相加。
例:
(10110)2–>1*2^4+0*2^3+1*2^2+1*2^1+0*2^0
八进制转换为十进制
与二进制类似(将底数2改为8即可)
十六进制转换位十进制
与二进制类似(将底数2改为16即可)
十进制数转换成非十进制数
十进制转换为二进制
除2取余(先出来的余数是二进制的低位)
例:
十进制小数转换成二进制的方法
乘2取整(先出来的是高位)
例:
十进制转换为八进制
除8取余(先出来的余数是八进制的低位)
十进制转换为十六进制
十六进制数的基数为16,十六进制数中的数码有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,共十六个。
除16取余(先出来的余数是十六进制的低位)
非十进制数之间的相互转换
八进制数转换成二进制数
例:
二进制转换为八进制数
例:
十六进制数转换成二进制数
类似于八进制数转换为二进制数(将3位改为4位即可)
二进制数转换为十六进制数
类似于二进制数转换为十六进制数(将3位改为4位即可)
二进制数运算
二进制四则算术运算
加法运算法则
例:
加法运算法则
例:
乘法运算法则
例:
除法运算法则
例:
二进制逻辑运算
“与”运算(AND)
只有都为’1’才为’1’,其余为0。
例:
“或”运算(AND)
有一个’1’就为’1’,其余为0。
例:
“非”运算(AND)
‘0’变为’1’,‘1’变为’0’。
例:
二进制数的表示形式
二进制数的真值和字长
真值
计算机中的二进制机器数分为“有符号数”和“无符号数”两种。
“无符号数”就是二进制数的每一位都代表对应位的数值;而在“有符号数”中规定最高位用来表示数据符号,其中1代表负,0代表正,这样一来机器数本身就不等于真正的数值了。
字长
“字长”是指计算机一次可处理的二进制数的码位长度,是计算机进行数据存储和数据处理的运算单位。如我们通常所指的32位处理器,就是指该处理器的字长为32位,也就是一次能处理32位二进制数。通常称16位是一个字,32位是一个双字,64位是两个双字。
二进制数的四种表示形式
原码
“原码”就是“原始码位”,或者“原始编码”的意思,就是对应二进制数本身所代表的形式。
补码
补码的编码规则如下:正数的补码和原码相同;负数的补码是通过先把除符号位外其他各位取反,再在末位(最低位)加1得到的。
反码
反码”专门是针对负数进行的(正数的反码与原码一样),就是对二进制负数按位(除符号位外)取反,原来为1就变为0,原来为0就变为1。
综上所述:
正数的原码、反码和补码都是一样的,而负数的这三种表示形式就不一样了,负数的反码是对原码中除符号位外的其他各位取反,而负数的补码是再对其反码加1,也就是先对其原码中除符号位外的其他各位取反,然后再在最低位加1。
移码
编码规则:
正数的符号位为1,负数的符号位为0。
真值部分与补码一样。
补码的加减法运算
补码的转换
正数不变,负数取反码再在最后一位加1。
补码的加法运算
规则:
[X+Y]补 =[X]补 +[Y]补
例:
补码的减法运算
规则:
[X-Y]补 =[X]补 +[-Y]补
例: