技术标签: python二进制取反
Python语言能够对整数进行逐位操作,它支持的运算符及含义如下所示:
&:按位与
|:按位或
^:按位异或
~:取反
<
>>:右移
对于整型数据,各种位操作是对该数据的补码进行的(正数的补码与原码相同,下面举例皆以正数为例);对于长整型数据,由于其位宽不定,所以进行位运算时,认为其补码的符号位向外无限扩展。下面对各运算符进行举例说明:
(1)首先看取反
>>> ~1
-2
>>> ~0x0001
-2
>>>
正整数1,int型是32位的,就是00000000 00000000 00000000 00000001 求反变为11111111 11111111 11111111 11111110,这正好是-2的补码。同样十六进制的0x0001结果是一样的。
(2)按位与
>>> 1&2
0
>>> 1&3
1
>>>
对于按位与,就是对参加运算的两个整数的补码逐位进行逻辑与运算,即参加运算的两个运算量,如果两个相应位都为1,则该位的结果为1,否则为0。
(2)按位或
>>> 1|1
1
>>> 1|2
3
>>>
文章浏览阅读345次,点赞5次,收藏5次。近期,全球首位AI程序员Devin的出场,不禁让我想到了一个有趣的问题:AI程序员会不会抢程序员的饭碗呢?先别着急下结论!虽然AI技术在编程领域越来越广泛,但它真的能完全替代我们程序员吗?
文章浏览阅读2.2k次。在客户那边跑了1年多的程序没有出现问题,在公司弄了个开发环境,隔个几个星期就出一次问题。发现是公司这边缺乏运维人员造成的,说明都是靠开发自己干。一个字累。这次,家里面测试环境突然间异常了,程序还在运行,但反应相当迟钝。最后查了下,搭建Oracle的那台机器只有几百MB的空间了。发现一个USERS01.DBF的文件巨大,差不多30多GB了。因为是家里面的测试环境,这里可以乱搞下。alter database datafile 'C:\contnet\oradata\ORCL\USE._users01.dbf很大
文章浏览阅读156次。死锁(Deadlock)所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。 一种情形,此时执行程序中两个..._所谓死锁,是指两个或两个以上的进程在执行过程中争夺资源而造成的一种___________
文章浏览阅读1.8w次,点赞62次,收藏61次。java初学者蜜桃弟弟今天在PTA上写题目,一直出现这个错误。 Error: class X is public should be declared in a file named X.java搜了很多如下的解决办法: Java的类名与文件名必须一致 https://blog.csdn.net/u010892841/article/details/70..._pta 平台 main.java:2: error: class chickenproblem is public, should be decla
文章浏览阅读1.1w次。显示器连接线有3种 HDMI连接线、VGA连接线、DVI连接线、DP连接线。1、DPDP(DisplayPort)是第一个依赖数据包化数据传输技术的显示通信端口,这种数据包化传输技术可以在以太网、USB和PCI Express等技术中找到。它既可以用于内部显示连接,也可以用于外部的显示连接。DP(DisplayPort)与HDMI接口类似,支持视频和音频同时传输。部分版本支持USB接口、type-C兼容HDMI、DVI旧型号接口,相比HDMI拥有更高的带宽。 DP1.4最高达32.4Gbps的带宽,可_显示器连接线有几种
文章浏览阅读1.5k次。网上找不到合适的自定义item内容并能够获得复选内容的combox,所以自己写了个,有需要的直接拿去用即可:from PyQt5.QtWidgets import QComboBox, QLineEdit, QListWidget, QCheckBox, QListWidgetItemfrom PyQt5 import QtWidgetsimport sysclass ComboCheck..._qt combox通过自定义数据获取当前文本
文章浏览阅读2.4k次,点赞3次,收藏19次。xml文件的DOM解析_dom解析xml
文章浏览阅读4.9k次,点赞10次,收藏108次。VOFA+是一个串口调试助手,但凭它简单的通信协议、数据可视化以及频域分析,三维打印等优点在众多串口调试助手中脱颖而出。就凭一个打印波形,屁颠屁颠就冲这软件来了。_vofa 电机闭环
文章浏览阅读3.1k次。NTP注意事项注意一:首先是关于时区的问题,经度的零点在 Greenwich,因此就有了 GMT(Greenwich Mean Time) 的概念,GMT 以东的快(+),以西的慢(-),比如大陆就是 GMT+8,也就是比 GMT 快 8 h。GMT 为 0 点的时候,大陆已经早上 8 点了。然后还有个国际日期变更线的问题,这个在太平洋上,也就是精读为 180 的那_localhost: timed out, nothing received
文章浏览阅读453次。【BZOJ修复计划 #16】BZOJ 2151 种树【国家集训队2011】_bzoj 链表
文章浏览阅读822次。 讲道理,如果mybatis和mybatis-parent的版本号一致的话,大概率是不会遇到坑的。但是不排除某些人的自残倾向,非要用不同版本的mybatis和mybatis-parent,这样的话可能会遇到以下这些坑:“cannot resolve plugins xxx”的问题:导致这个问题的原因是没有指定插件的版本号,在pom文件中为相应插件指定version即可,例如:或者干脆注释掉:“Cannot resolve plugin org.apache.maven.plugins:mav_could not compute the year of the last git commit for file
文章浏览阅读1.5k次。最近遇到一个很棘手的问题. 问题很简单:一般情况下使用ftp上传就是这个样子:如下脚本:$ vim copy.sh#! /bin/bashremote_path=远程地址if [ -f $1 ]thenftp -i -n <open ftp服务器user 账户名 密码put $1 $remote_path$1quitUPLOADfi这是文本文件内容. vim会默认在文件末尾追加\n$ vim..._ftp linux 重命名文件