二进制基础

xl_echo编辑整理,交流学习请加1280023003
百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!


什么是二进制

简单的说二进制就是只有0和1表示的计数规则,逢2进1。以此可以看出我们的十进制就是使用0-9表示的技术规则,逢10进1。

二进制和十进制数的生成规则

十进制123456789
二进制000100100011010001010110011110001001

根据上面的数据对应,我们不难发现规律

1 > 0001
	10进制的1变成二进制就是0001,也就是 0 + 0 + 0 + 2^0 = 1
2 > 0010
	10进制的1变成二进制就是0010,也就是 0 + 0 + 2^1 + 0 = 2
3 > 10
	10进制的1变成二进制就是0010,也就是 0 + 0 + 2^1 + 2^0 = 2
	……

这里我们反过来推,计算二进制转换成为10进制,拿111001来举例

111001
	2^(6-1)+2^(5-1)+2^(4-1)+2^(1-1) = 57
111000
	2^(6-1)+2^(5-1)+2^(4-1) = 56
110111
	2^(6-1)+2^(5-1)+2^(3-1)+2^(2-1)+2^(1-1) = 55
	……

短除2,让十进制转换成二进制

除法余数
25728
22814
2147
273
231
210

将余数从下往上数,得到57的二进制数:111001

那么我们可以从上面观察到一个问题,那就是上面的都是整数,没有负数。在这里那我们的负数使用二进制是怎么解决的呢?

在计算机中,二进制有符号位

负数的二进制码

机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。

十进制-1-2-3-4-5-6-7-8-9
8位二进制1000 00011000 00101000 00111000 01001000 01011000 01101000 01111000 10001000 1001

提及二进制有必要提及一下反码、补码

什么是补码?

这里只演示负数,因为正整数的原码、反码、补码完全一样

补码要从原码、反码说起

  • 原码:比较简单就是原来的编码(一个整数,按照绝对值大小转换成的二进制数,称为原码);
  • 反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
  • 补码:反码 + 1 = 符号位不变 + 其他位按位取反 +1
十进制-1-2-3-4-5-6-7-8-9
8位二进制原码1000 00011000 00101000 00111000 01001000 01011000 01101000 01111000 10001000 1001
8位二进制反码1111 11101111 11011111 11001111 10111111 10101111 10011111 10001111 01111111 0110
8位二进制补码1000 00011000 00111000 00111000 01011000 01011000 01101000 01111000 10011000 1001
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xlecho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值