快速学会数字电路中进制转换和正反码
数字电路进制得转换
什么是二进制:“二进制是计算中采用的一种数制。二进制数据用0和1两个数码来表示的数。
进位规则是“逢二进一”,也就是说最大数是1
二进制( Binary):CPU处理的数据常转换为二进制,0和1进行处理,
十进制( Decima):十进制数是组成以10为基础的数字系统,进位规则是“逢10进一”,也就是说最大数是9,十进制只能表示0~9
十六进制(Hexadecimal);数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。,十六进制最大数是15。常用符号0x~
八进制(Octal);一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1,八进制最大数是7.。0,1,2,3,4,5,6,7
二进制转换为十六进制
先把二进制从低位到高位(一般是右边是低位 ,左边是高位)按照每四位一组进行划分,如果该二进制不足8位。则在二进制数高位进行补0,16进制用0X前缀表示,举个栗子
二进制 0101 1000转换为16进制 得到 0X58
二进制 1010 1111转换为16进制 得到0XAF
十进制转换为二进制
①正整数转二进制:法则“除二取余数”,把该十进制的数除二取余数,然后倒序排列取余数,不足8位,高位补0,举个栗子
②负整数转二进制:
③小数转二进制:
十进制的小数转换为二进制小数,主要是利用小数部分乘2,取整数部分,直至小数点后为0。下面以十进制的0.625为例,将它转化成二进制
小数部分0.625乘2,取整数部分1
用剩余的小数部分0.25乘2,取整数部分0
将剩余的小数部分0.5乘2,取整数部分1
当小数部分已经为0,则计算结束,把我们将取得的数字从上到下写, 得到101
因此我们就得到了0.625转换成二进制的小数
二进制转换为八进制
“二进制转八进制的方法比较简单,
按照取三合一法(每三位为一组)
就可以快速解决二进制转八进制的转化问题。举个栗子将二进制数101110.101转换为八进制,得到结果:将101110.101转换为八进制为56.5。”
正码:正数的反码与正码相同
举个栗子
正码
最高位表示符号位,0表示正数,1表示负数,其余位表示为整数的二进制数(把44进行除2求余再向上取整,不够8位,高位得补0)。
如:44: 00101100
-44:10101100
反码
正数的反码与正码相同,负数的反码是在正码的基础上对除符号位之外的位取反,0变1,1变0.
44:00101100
-44:11010011
补码
正数的反码与正码相同,负数的补码是在反码的基础上,对最低位+1.
44:00101100
-44:11010100