二进制、八进制、十进制、十六进制+原码、反码、补码

二进制、八进制、十进制、十六进制

区别:数运算时逢几进位,例如十进制就是1-9满10进位。

转换:

1.十进制转二进制

一个数一直除以2(直到商为0),得到的余数从尾到头就是该数的二进制

2.二进制转十进制

把二进制展开,每个数对应一个2^n

例如:100010——>1*2^5+0*2^4+0*2^3+0*2^2+1*2^1+0*2^0

3.二进制转八进制

把一个二进制数拆分为3位一个(从右到左,不够就用0代替),再运算

例如:10100010——>010 100 010——>0*2^2+1*2^1+0*2^0(2)  1*2^2+0*2^1+0*2^0(4)     0*2^2+1*2^1+0*2^0(2)

所以该二进制数的八进制就是242

4.八进制转二进制

就是二进制转八进制的倒转

就以242为例,把242拆分为2   4   2,再对每个数除以2,不够在最左边补0。

5.二进制转十六进制(A<—>10,B<—>11,C<—>12,D<—>13,E<—>14,F<—>15)

与二进制转八进制近似,八进制取3合1,十六进制取4合1,也是从右到左,不够就用0代替

6.十进制、八进制、十六进制之间的转换

(一)要么先把十进制转换成二进制,在用二进制进行转换

(二)或者直接把十进制除以8或16

原码、反码、补码

在计算机中都是以二进制表示,计算机中一个字长为8位,比如:1000 0001,这也叫机器数

在二进制中怎么表示正负的呢?就是以8位二进制数的第一位,0正1负,1000 0001的真值就是+000 0001=+1

1.原码也就是符号位加上绝对值的真值

2.反码

正数的反码就是本身

负数的反码在原码的基础上,符号位不变,其余各位取反

3.补码

 

正数的补码就是本身

负数的补码在原码的基础上,符号位不变,其余各位取反,最后+1

为什么使用原码、反码、补码?

因为符位号会让计算机变得复杂,所以去掉了减法,只运算加法

比如1-1就可以等于1+(-1),这个通过原码运算1-1是错误的,1-1=0000 0001+1000 0001=1000 0010=-2

所以就出现了反码,但是通过反码运算,1-1又会出现-0,而且0这个值会有两个二进制表示1000 0000 和0000 0000

这样就又出现了补码,这样0就用0000 0000表示,而不会出现1000 0000,1000 0000会表示为-128,因为-128是使用之前的-0的补码来表示的,所以-128没有原码和反码

 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值