二进制运算以及源码、补码、反码概念讲解

本文深入探讨了二进制运算的基础知识,包括二进制逻辑运算、算术运算及源码、补码、反码的概念与转换。通过具体示例,讲解了移位运算符的应用,并分析了开源框架中二进制运算的实际使用。

前言

在学习框架源码底层时,有非常多的二进制运算,由于大学学习计算机基础时开小差,没有学习牢固,所以在看底层源码的算法逻辑时遇到二进制运算比较吃力,遂通过一篇博文来总结下二进制运算,记录一下。

读者认真阅读完整片文章,看完如果还不懂可以来砍我~

正文

1. 二进制基础

因为计算机底层是通过二进制来进行计算的,所以在计算机底层会将十进制转换为二进制。十进制就是逢10进1,二进制就是逢2进1。

就十进制来说,比如一百可以分为三位,个位、十位、百位, 用位数在下列表示 101这个十进制数。

百位 十位 十位
1 0 1

因此对于十进制来说,越往上进制位越大,比如千位、万位。

同理,对于二进制来说也有对应位数, 如果表示二进制的4。

4(2^2) 2(2^1) 1(2^0)
1 0 0

1 * 4 + 2 * 0 + 1 * 0 = 4

如果要表示二进制的5,则如下图

4(2^2) 2(2^1) 1(2^0)
1 0 1

4 * 1 + 2 * 0 + 1 * 1 = 5

如果要表示二进制的11,则如下图

8(2^3) 4(2^2) 2(2^1) 1(2^0)
1 0 1 1

8 * 1 + 4 * 0 + 2 * 1 + 1 * 1 = 11

在计算机中,1字节有8位二进制位。

2. 二进制运算

在计算机系统中,二进制运算包括了二进制逻辑运算和二进制算术运算,而逻辑运算和算术运算的主要区别在于,逻辑运算是按位进行,不像算术运算中位与位之间有进位和借位的联系。下面介绍的与、或、异运算就属于二进制的逻辑运算。

2.1 二进制逻辑运算

对于二进制的逻辑运算,记住一个口诀:

  1. 与(&)运算

    运算规则:
    0&0=0, 0&1=0, 1&0=0, 1&1=1

    二者为1则为1,否则都为0。

  2. 或(|)运算

    运算规则:
    0|0=0,0|1=1,1|0=1,1|1=1

    遇1则1,否则为0。

  3. 异(^)或运算

    运算规则:
    0^0=0, 1^0=1, 0^1=1, 1^1=0

    同为0,异为1。

由于算术运算中会设计符号数的运算,所以先介绍二进制中的源码、补码以及反码。

2.2 二进制算术运算
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值