超详细介绍!!!带你认识各种进制数的及其转换以及原码,反码,补码

1.本文详细介绍了二进制,八进制,八进制和他们之间的相互转换

2.也详细介绍了原码,反码,补码以及它们之间的相互转换,让你更加了解计算机数据的底层运行逻辑

目录

一:认识各种进制数

1.十进制数

2.二进制数

3.八进制数

4.十六进制数

二:各种进制数的相互转换

1.二进制数与十进制数之间的转换

二进制转换为十进制

十进制转换为二进制

2.二进制数与八进制数之间的转换

八进制转换为二进制

二进制转换为八进制

3.二进制数与十六进制数之间的转换

二进制转换为十六进制

十六进制转换为二进制

三:介绍原码,反码,补码

1.原反补码的价值(存在的意义)

2.计算机中分别是怎么表示正负数的

3.原码,反码,补码的转换

原码,反码,补码转换(正数)

原码,反码,补码转换(负数)

结语:这些就是本期介绍的全部内容了



一:认识各种进制数

1.十进制数

一般我们平时日常中说的12,55等一系列数字就是十进制数,这些数字的基本特征就是满10进1,且每位都以0-9表示。

那么在计算机的世界我们常用的进制数有三种,分别是二进制数,八进制数以及十六进制数


2.二进制数

二进制数是计算机唯一能处理的数,任何数据传入计算机中都会先被转换成二进制数,然后再被计算机处理

二进制数特征与十进制数大同小异:二级制数每位都只能是0或1,逢2进1

例如:01+01==10(末位1+1=2,向前进1位得到10)

二进制数的符号:B或者 在右下角标明2

如果一个数为11011B,则表明该数为二进制数

3.八进制数

八进制数:顾名思义八进制数的每一位只能用0-7来表示,逢8进1,

符号:O或者 在右下角标明8

例如:O45+O23==O70(末位5+3==8,则进1,结果为70(O表示该数为八进制数))

4.十六进制数

十六进制数有其特有的特点,它也是逢16进1,但是它的每一位的表示数据不同,

它的每一位表示数据为0-9,但遇到两位数的时候则用ABCDEF来分别表示10,11,12,13,14,15。

符号:Ox或者 在右下角标明16

例如:Ox3F(则表示末位为15,前一位为3的十六进制数)

逢16进1:运算时大于F(15)则进1

由于十六进制数表示的数足够大,一般在编译器中用来表示数据在计算机中存储的地址

二:各种进制数的相互转换

1.二进制数与十进制数之间的转换

  • 二进制转换为十进制

方法:一般为按位权展开方程式之和

就是从低位到高位计算,每一位的数据(权)乘与2的相应次方(从2^0次方开始),然后在把他们的每一项结果加起来

例如:B(11010010)

转换为十进制:0*2^0 + 1*2^1 + 0*2^2 + 0*2^3 + 1*2^4 + 0*2^5 + 1*2^6 +1*2^7==210

*表示 乘

  • 十进制转换为二进制

方法:1.除二倒取余数法      2.直接高位到低位计算

1.除二倒取余数法

用要转换的十进制数一直除于2,直到余数为0结束

例:34—>100010

2.直接按高位到低位计算

该方法适用于比较熟练的时候使用

例子:34—100010

我们知道二进制每位对应的十进制为2^n,那么34在32到64之间,是满足32这个数的

所以34第6位上是1(32的是2的5次方,在第六位上),那么还剩下2没处理,那么二进制上第2位上为1(2正好为2的一次方上所以在第二位上),所以第5位,第4位,第3位,都为0;

当2在第二位上正好处理完了,所以第一位上也为0;

结果:100010

2.二进制数与八进制数之间的转换

  • 八进制转换为二进制

方法:一位转三位

把八进制的每一位转换位3位二进制,你如八进制某一位上是6,转为二进制就为110

(把八进制的每一位当成十进制,再转成二进制)

例子:O(56)

5->101    6->110

结果:101110B

  • 二进制转换为八进制

方法:三位转一位

就是八进制转二进制的逆运算

比如二进制101,转为八进制就为5

(注意怕位数不对称所以从后往前转换,不够三位的补0;

例子:1110110011B

011:3      110:6    110:6     1(不够3为前面补0)->001:1

结果:O(1661)

3.二进制数与十六进制数之间的转换

  • 二进制转换为十六进制

方法:四位转一位(与二进制转八进制相同)

从低位向高位依次取4位转换为十六进制(不够向前补0)

注意:十六进制的10-15是用A-F表示

例子:10011010001B

0001:1      1101(13):D    100(不够4位补0)->0100:4

结果:Ox4D1

  • 十六进制转换为二进制

方法:一位转四位(与八进制转二进制方法相同)

把十六进制数的每一位当成十进制分别转换为对应的二进制数

例子:OxFA5

F(15):1111   A(10):1010   5:0101

结果:111110100101B

三:介绍原码,反码,补码

1.原反补码的价值(存在的意义)

首先我们知道数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,

数值存在的本质就是为了运算,且最本质的计算为加减法;为了使用运算更加的全面,且能使负数与正数能一起计算,且为了使机器只需要运算加法也能达到减法的效果(能使运算速度更快),就诞生数值的原码,反码以及补码(需要详细了解可以去看《计算机组成原理》一书)

注:我们输入到计算机中的都是数值的原码,但是在计算机中被处理的是数值的补码

(计算机会自动把原码转换为补码再进行处理)

2.计算机中分别是怎么表示正负数的

数字数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为(-127~-0 +0~127)共256个.

例如:-1:原码为:(符号位'负数')1 000000000000000……00000001  (用最高位表示符号位,其他位为正常二进制)

1 :原码为:(符号位’正数‘)0 000000000000……00000001

3.原码,反码,补码的转换

  • 原码,反码,补码转换(正数)

重点:正数的原反补码相同,

原码就是数值所对应的二进制数

例如:整数:1

原码:(符号位)0 0000000……00000001

反码:(符号位)0 0000000……00000001

补码:(符号位)0 0000000……00000001

计算机底层运算过程

例子:整数:1+1

(底层运算的是补码,如下列)

     0 0000000……00000001

+   0 0000000……00000001

=   0 0000000……00000010=>再转换为原码进行输出(一样)

结果:2

  • 原码,反码,补码转换(负数)

重点:负数与整数不同,需要把原码先转换为反码,再把反码转换为补码

原码:为数值转换的二进制数

反码:符号位除外,其他位取反

补码:反码+1

例如:-1    原码为:(符号位)1 000000000……00000001

                  反码为:(符号位)1 1111111111……111111110

                  补码为:(符号位)1 1111111111……111111111

底层运算过程:

例子:2-1  实际上计算机会将其转换为加法:2+(-1)

2  为正数:原反补相同:00000000……00000010

-1为负数:原码:           10000000……00000001

                 反码:            111111111……111111110

                 补码:            111111111……111111111

计算:补码与补码计算:

                                        00000000……00000010(32位)

                                   +   111111111……111111111(32位)

                                   =  100000000……00000001(33位)

由于(int)整数最多只能有32位,所以低位开始,向前32位算有效数据

结果补码:00000000……00000001     符号位为0,说明是正数

正数原反补相等,所以结果为1;

结语:这些就是本期介绍的全部内容了

制作不易:各位看官老爷点赞加关注支持一下吧!万分感谢!!!

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值