快速学会数字电路中进制转换和正反码

数字电路进制得转换

什么是二进制:“二进制是计算中采用的一种数制。二进制数据用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

经验分享 程序员 微信小程序 职场和发展