当前位置: 首页 > 创业资讯 > 十进制转十六进制(不同进制转换方法及反码补码)

十进制转十六进制(不同进制转换方法及反码补码)

发布时间: 2021-11-11 10:14:11 来源: 互联网

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

区别:数运算时逢几进位,例如十进制就是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没有原码和反码

热门文章
最新发布
合集专区 更多 >>