算法|仙游二进制,探访位运算

简介: 算法|仙游二进制,探访位运算

问题描述

数位的进制对于大家来说肯定都不是太陌生。在相关学科都有所涉及,像计算机网络,甚至是初高中的数学中,都或多或少的有所涉及。虽然,聪明的人类能够识别、处理各种进制的数值。可是笨笨的计算机却只能处理运算二进制的数,所以,二进制就是计算机的语言。要更好的操控计算机,编写程序,减少BUG,就要熟悉的运用位运算,提高运算效率。

所谓之仙游二进制,二进制你能轻而易举的读懂吗?反正我觉得是看着生疏。一大堆的二进制看着,就像是在看天庭的经文一般,故曰仙游其中。然而,位运算却能很好的解决二进制之间复杂转换的一些问题。如此的大佬,为何不去探访一二呢?用的好,或许就是解决某些问题的不二法门。

这篇文章,就简单的谈谈位运算,还是以Python中的位运算符为例,同时关于进制的转换问题,读者大可去百度,这里就不加赘述。为了更好的认识位运算,这里还是引述了来自百度百科的定义:位运算就是直接对整数在内存中的二进制位进行操作。

(Python的位运算符)

解决方案

既然是运算过程,那么相应的运算符号是必不可少的。相信大家已经查看了上图,上图就是Python的位运算符。对于运算符这一块的知识,需要重点关注的其实就是,理解符号含义,能够正确的根据输入和符号,输出正确的值。表格中有每个符号相应的实例,方便读者理解。其中,与(&)运算、非(~)运算、或(|)运算、异或(^)运算是非常常用的几种。

  1. 1.  与:1与1相与是1,其余情况都为0。
  2. 2.  非:1变成0,0变成1,再进行计算。
  3. 3.  或:0与0相或是0,其余情况都为1。
  4. 4.  异或:相同为0,反之为1。

位运算的基础就是以上的这些运算符,至于位运算的运用还是非常广泛的,但时常容易被忽略。为了便于读者理解,我们用Python示例,简单的介绍整数(int)的一些运算。大致如下:

求和:

求差:

结语

这些示例都是很简单的一些问题,如果读者感兴趣,可以去看看“N皇后问题”,进行尝试。在尝试中,读者能够更好的理解和提升位运算的使用方法。

目录
相关文章
|
8月前
|
算法
算法思想总结:位运算
算法思想总结:位运算
|
2月前
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
58 1
|
13天前
|
算法
【算法】位运算合集
/鸽巢原理优化//位图原理//bitMap&0001000只有非0或者0两个结果//说明当前bitMap位是0,那就添加进去}else{//1:把字符串转化为字符数组// //2:把字符扔到hash表中// //获取hash表中x的value值// }else{// }// }
|
5月前
|
算法
【算法】位运算算法——消失的两个数字(困难)
【算法】位运算算法——消失的两个数字(困难)
|
5月前
|
算法
【算法】位运算算法——只出现一次的数字Ⅱ
【算法】位运算算法——只出现一次的数字Ⅱ
|
5月前
|
算法
【算法】位运算算法——判断字符是否唯一
【算法】位运算算法——判断字符是否唯一
|
5月前
|
算法
【算法】位运算算法——两整数之和
【算法】位运算算法——两整数之和
|
5月前
|
算法
【算法】位运算算法——丢失的数字
【算法】位运算算法——丢失的数字
|
5月前
|
算法
算法】位运算——常见位运算基础操作总结
算法】位运算——常见位运算基础操作总结
107 0
算法】位运算——常见位运算基础操作总结
|
6月前
|
机器学习/深度学习 算法 计算机视觉
通过MATLAB分别对比二进制编码遗传优化算法和实数编码遗传优化算法
摘要: 使用MATLAB2022a对比了二进制编码与实数编码的遗传优化算法,关注最优适应度、平均适应度及运算效率。二进制编码适用于离散问题,解表示为二进制串;实数编码适用于连续问题,直接搜索连续空间。两种编码在初始化、适应度评估、选择、交叉和变异步骤类似,但实数编码可能需更复杂策略避免局部最优。选择编码方式取决于问题特性。

热门文章

最新文章