python位运算

这几天,在看C代码,要做一个imsi的decode 里面的代码都是用C写的,位运算什么的。看的有点乱。

由于要在pc上进行解析,所以打算用python写,那么问题来了Python进行位运算要怎么玩?

看的比较多的教程是把这方面的东西用C来写,用python调用。搜索了一些资料,其实python还是可以来为运算的,关键是尚未掌握调用技巧啊,公司加密软件折腾的!!

原博如下http://blog.csdn.net/bestallen/article/details/51763386

在数字面前添加0b 就可以用二进制表示十进制

二进制          十进制

0b1     1

0b10     2

0b11     3

=======

bin() 函数  该函数的作用是把10进制转换成二进制,是的 idle环境默认是10进制,比较坑爹的是bin()函数输出的是str类型

如果要用bin的输出进行运算,恩 就是那么简单

int(bin(25),2) + 4   

========

转换完成之后,就是这几个为运算符了,操作方法跟C一样的。万恶的与或非~~~~!!!又让我想起来数电模电的日子,恩 那段记忆只剩下好繁琐,好难,好无聊!

^   XOR   两者相异,则为1  怎么一点印象都没有啊

&  AND 与

|   OR  或

>>   右移

<<   左移

 

在使用位运算的时候经常会用到掩码,比如只保留高位/只保留低位的

higmask = 0b11110000   

lowmask = 0b00001111

 

(data & higmask) >> 4  恩 括号很重要

 

e.g:

>>> higmask = 0b11110000
>>> 73 & higmask >>4
9
>>> (73 & higmask) >>4
4

 

转载于:https://www.cnblogs.com/asreg/p/6557771.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光耦的简介

光耦&#xff0c;光电耦合器的简称&#xff0c;它是以光信号作为介质传输电信号的元器件。光耦的输入端和输出端信号可以非常好的进行隔离&#xff0c;因此在隔离电路中经常会见到光耦。光耦合器一般由三部分组成&#xff1a;光的发射、光的接收及信号放大。输入的电信号驱动发…

接待员如何向客人upsell_客房留言卡也能收获好评,看看高情商酒店如何做的?...

客人对酒店最客观的评价从点评中就能看到&#xff0c;那酒店服务如何才能被客人看到呢&#xff1f;可不可以通过一张留言卡&#xff0c;被客人感知到呢&#xff1f;本文整理了多个客房服务实际场景案例&#xff0c;帮助酒店了解如何写好这张留言卡。一、什么场景下放置留言卡&a…

“2020 RT-Thread开发者大会” 思考感悟

从2019年开始参加RT-Thread的一次线下培训活动后&#xff0c;就深深的喜欢上这个国产的RTOS&#xff0c;之后RT-Thread举办的活动基本都有参加&#xff08;但每次活动抽奖都抽不到&#xff01;&#xff09;。当然&#xff0c;最为盛大的还属一年一度的RT-Thread开发者大会&…

构造函数demo

package cn.xuexi; /** 简单的写了一个构造函数的类* 总结一下构造函数的坑* 1、构造函数的名字必须与类型保持一致* 2、构造函数不能有任何返回值类型的修饰&#xff0c;void也不行* 3、构造函数中不能使用return 语句 */ public class GouZaoDemo { public static void main(…

小红书笔记_小红书的沙雕笔记,害人不浅啊

话说&#xff0c;当代人的十大必备软件是什么&#xff1f;要猫姐来说的话。除了微信微博抖音&#xff0c;小红书也肯定少不了&#xff01;它简直就是大部分PLMM的“种草神器”。就连明星都纷纷入驻小红书变身为“美妆博主”。前一阵上了热搜榜和李晨分手的范冰冰也是小红书的一…

禅、魏晋风度及其他

禅、魏晋风度及其他 从本质上说&#xff0c;禅与文学艺术活动是相悖的。禅讲“静虚”&#xff0c;讲“色空”&#xff0c;讲“人中无我”、“法中无我”。所谓“菩提本无树&#xff0c;明镜亦非台&#xff0c;本来无一物&#xff0c;何处惹尘埃”&#xff08;王蒙说这也不算彻底…

2020 RT-Thread开发者大会 ART-Badge电子胸牌(可二次开发)

2020 RT-Thread开发者大会 ART-Badge电子胸牌&#xff08;可二次开发&#xff09;&#xff0c;动手实验IOT会场有介绍使用PersimmonUI设计器进行柿饼UI的开发&#xff0c;使用拖拽控件、注册事件的方式进行GUI的开发。开发语言使用JS&#xff0c;界面实现非常方便&#xff0c;后…

datatables分页下一页不能点击_干货,删不掉Word文末最后一页?学会5个方法,再也不愁啦...

在处理Word文档时&#xff0c;经常会在文档最后出现一页空白&#xff0c;非常讨厌&#xff0c;更可恶的是总是删不掉&#xff0c;按退格键或者delete键都无济于事。你是不是也正在为删除Word文末空白页发愁呢&#xff1f;有没有好的方法解决这一问题呢&#xff1f;有的&#xf…

swift 第四课 随意 设置button 图片和文字 位置

项目中经常遇到按钮改变文字和图片位置的情况&#xff0c;所以尝试写一个 button 的分类&#xff1a; 参照连接 http://blog.csdn.net/dfqin/article/details/37813591 import Foundation import UIKit /*枚举 设置 图片的位置*/ enum ButtonImagePosition : Int{case Position…

C#中get和set访问器的用法

C#中的get和set访问器可用来获取和设置类中字段&#xff08;即属性&#xff09;的值&#xff0c;通过get和set访问器提供访问接口&#xff0c;从而可以避免对字段的直接访问造成的不安全性。 using System; using System.Collections.Generic; using System.Linq; using Syste…

asm扩容流程_Oracle rac asm 扩容

环境介绍&#xff1a;故事发生在Oracle 11.2.0.4 RAC/ Linux 6.8 的数据库集群服务器上。DATA/ ARCH/ 磁盘组空间不足&#xff0c;进行扩容。首先&#xff0c;如果要在线使用udev方式扩容asm&#xff0c;建议先备份两个节点所有在用网卡信息&#xff0c;避免bug误删除网卡信息。…

计分员计分程序

1.估计这个任务需要多长时间&#xff1a;两星期 2.需求分析&#xff1a; 作为一名现场记分员&#xff0c;我希望详细记录比赛现场比分增长情况&#xff0c;以便观众及运动员、教练员及时掌握比赛状况。&#xff08;满意条件&#xff1a;每一次比分的改变&#xff0c;都要形成一…

蓝牙入门基础知识(一)

蓝牙起源 1995年5月20日&#xff0c;在美国华盛顿州&#xff0c;索尼爱立信、IBM、英特尔、诺基亚、东芝成立了蓝牙技术联盟&#xff08;Bluetooth Special Interest Group&#xff0c;SIG&#xff09;。SIG是一个制定蓝牙规范&#xff0c;推送蓝牙技术发展的国际组织。SIG授权…

用python将图片写入ppt_用python做ppt服务用于导入图片

项目需要做WINFORM程序与powerpoint交互&#xff0c;把winform生成的图片自动拷贝到ppt中。目前使用python做了一个简单的服务解决。由于要求是32位程序&#xff0c;所以下面全都是32位的版本。第一步&#xff0c;安装python2.7 32位。第二部&#xff0c;安装py2exe 32位。第三…

C#语言入门详解---委托(刘铁猛)

委托&#xff1a;函数指针的升级版&#xff0c;可以类比C语言中的函数指针进行理解 变量的本质就是以变量名所对应的内存地址为起点的一段内存&#xff0c;这段内存中存储的就是变量的数据&#xff0c;这段内存的大小由变量的数据类型决定。 函数代表算法&#xff0c;函数的本…

【LintCode题集】Q6、Q64

最近开始刷LintCode上的题目&#xff0c;先从标签为容易的开始刷。今天刷的这两题目差不多为同一类型的题目&#xff0c;都是为按照一定的规则合并两个已经有序的数组。 [Q6] 描述&#xff1a; 合并两个排序的整数数组A和B变成一个新的数组。 样例&#xff1a; 给出A[1,2,3,4]&…

input标签的值只能两位小数_解决input只能输入金额类型的方案(金额输入框只能输入2位小数)...

欢迎加我技术交流QQ群 &#xff1a;811956471前言&#xff1a;最近在用uni-app框架&#xff0c;写一个项目(支付宝和微信小程序)遇到一个需求&#xff0c;要求金额输入框只能输入2位小数&#xff0c;且第一位数不能是 "."&#xff0c;只能是数字。发现用 input事件监…

C# winform中判断控件类型

C# winform中对控件类型的判断&#xff1a; public void UpdataControl(Control control, string data) {if (control is TextBox){doSomething1();}if (control is Label){doSomething1();}if (control is Button){doSomething1();}}

单元测试原来是这样的呼

我们要先创建一个界面&#xff1a; 显示的界面是这样的&#xff1a; 接下来我们来写java代码&#xff0c; 在输入框里的内容&#xff0c;点击button&#xff0c;将数据显示到上面的textview. 后面写测试用例&#xff0c;但我不知道哪里出错了&#xff0c;不知道是不是创建就出错…

python生成表达式_说说 Python 的生成器表达式

列表推导与生成器表达式都可以用于初始化元组、数组或其他类型的序列。但列表推导需要先建立一个完整的列表&#xff0c;然后再把这个列表传递到某个构造函数。而生成器表达式会逐个产出元素&#xff0c;这样显然能够节省内存。列表推导写法&#xff1a;codes [ord(symbol) fo…