欢迎光临货拉客微商网官网!

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

来源:微商一手货源 热度: 时间:2024-05-04 12:02:54

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

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

.pjbox{padding-top:8px;text-align:center}.pjbox a{cursor:pointer;color:#000} 收藏 / 推荐(58) / 要加油(31)

相关文章

最新文章

货拉客微商网投诉、建议、删除信息联系邮箱: 联系QQ: 微信:
Copyright© 2006-2022 www.huolake.com, all rights reserved.货拉客·货源网 版权所有
ICP备案号:[ICP备号]
网站安全认证 微商网 安全联盟行业认证 微商网 可信网站实名认证 微商网