python笔记_位运算

A,原码反码补码

1,二进制

二进制的最高位是符号位,0为正,1为负

3 => 0000 0011

-3 => 1000 0011


2,正数

正数的原码,反码,补码都一样(三码合一)

3 => 0000 0011(原码

        0000 0011(反码

        0000 0011(补码


3,负数 

负数的反码:原码符号位不变,其他取反(0变1,1变0

-3 =>

原码1000 0011

反码1111 1100

负数的补码:反码加一

负数的反码:补码减一

-3 =>

反码1111 1100

补码1111 1101


4,0

0的反码补码都是0 


5,计算机运算

计算机运算时,以补码的方式运算,查看运算结果时,需要看原码

1=>补码0000 0001

-3=>补码1111 1101

1 - 3 =>补码0000 0100

原码0000 0100

——>

4

1=>补码0000 0001

-3=>补码1111 1101

1 - 3 =>补码1111 1110

反码1111 1101

原码1000 0010

——>

-2


B,位运算

位运算符描述
+x,-x,~x正,负,按位非NOT

>>

<<

右移

左移

&按位与
^按位异或
|按位或

        

1,~按位取反

规则:对数据的每个二进制取反,1为0,0为1

~2

原码:0000 0010

补码:0000 0010

2 按位取反

补码:1111 1101

原码:1000 0011

——>

结果:-3

~-2 

原码:1000 0010

补码:1111 1110

-2 按位取反

补码:0000 0001

原码:0000 0001

——>

结果:1

2,&按位与

规则:参与运算的两个值,如果两个补码对应的位置都为一,则该位结果为一,否则为0

2 & 3

2补码:0000 0010

3补码:0000 0011

2 & 3补码:0000 0010 补码=原码

——>2

3,^按位异或

规则:如果两个补码对应的位置相异,则该位结果为一,否则为0

2^-3

2补码:0000 0010

-3补码:1111 1101

2 ^ -3补码:1111 1111

2 ^ -3原码:1000 0001

——>-1

4,按位或

规则:如果两个补码对应的位置有一个为一,则该位结果为一,否则为0

2|3

2补码:0000 0010

3补码:0000 0011

2|3补码:0000 0011

——>3

5,<<左移

规则:二进位全部左移n位,n是<<右边的数,且符号位不变,高位丢弃,低位补0

5<<1

5补码:0000 0101

5<<1补码:0000 1010 左移一位等于*2

——>10

6,>>右移

规则:二进位全部右移n位,n是<<右边的数,且符号位不变,低位溢出,用符号位补溢出的高位

5>>1

5补码:0000 0101

5>>1补码:0000 0010

——>2


C,练习

1,

定义

a=1>>2

b=-1>>2

c=1<<2

d=-1<<2

输出

print(a)

print(b)

print(c)

print(d)

——>

0

-1

4

-4

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

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

相关文章

docker 安装(一)

docker的安装 官方文档&#xff1a;https://docs.docker.com/manuals/ 卸载旧版 首先如果系统中已经存在旧的docker&#xff0c;则先卸载&#xff1a;yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \dock…

C++ STL标准程序库开发指南学习笔记

一、类模板简介&#xff1a; 在现今的C标准模板库中&#xff0c;几乎所有的东西都被设计为template形式&#xff0c;不支持模板&#xff0c;就无法使用标准程序库。模板库可以认为是针对一个或多个尚未明确的类型而编写一套函数或类型。模板是C的一个新特性。通过使用模板&…

【前端素材】推荐优质电商类后台管理系统网页Vuesax平台模板(附源码)

一、需求分析 在线后台管理系统是指供管理员或运营人员使用的Web应用程序&#xff0c;用于管理和监控网站、应用程序或系统的运行和数据。它通常包括一系列工具和功能&#xff0c;用于管理用户、内容、权限、数据等。下面是关于在线后台管理系统的详细分析&#xff1a; 1、功…

前端 css 实现标签的效果

效果如下图 直接上代码&#xff1a; <div class"label-child">NEW</div> // css样式 // 父元素 class .border-radius { position: relative; overflow: hidden; } .label-child { position: absolute; width: 150rpx; height: 27rpx; text-align: cente…

JavaScript中的this

在实际应用中&#xff0c;了解 this 的行为是非常重要的&#xff0c;特别是在编写库或框架时&#xff0c;或者当你需要在回调函数中访问特定的上下文时&#xff0c;通常推荐使用箭头函数或者其他方法来确保 this 的正确指向。 在ES6中&#xff0c;this 的值取决于它是如何被调用…

web服务器nginx下载及在win11的安装

一.背景 还是为了公司安排的师带徒任务。 操作系统版本&#xff1a;win11 家庭版 mginx版本&#xff1a;1.24.0 二.nginx版本选择与下载 我之前也写过下载nginx下载_ngnix stable 下载-CSDN博客 不想看寻找过程的&#xff0c;直接点这里去下载https://nginx.org/download…

Docker 使用原理流程

# docker 是如何来的&#xff1f; a. linux 内核本身支持容器技术&#xff0c;LXC (市面上有很多基于 LXC 开发的容器管理软件&#xff0c;如创建容器&#xff0c;查看容器&#xff0c;管理容器&#xff0c; docker 作为管理容器的一款代表工具软件) b. 容器的作用&#xff0c;…

利用python批量将.shp文件转换坐标生成.geojson文件,再将.geojson转换成.csv文件,最后将csv文件插入数据库表

第一步&#xff1a;.shp批量转.geojson # author: JMY # 创建时间: 2024/2/26 17:12 # 批量将.shp文件生成geojson文件并转换坐标为3857import os import geopandas as gpd# 定义输入和输出文件夹路径 input_folder shp文件 output_folder geojson文件# 定义输入和输出坐标系…

【王道操作系统】ch1计算机系统概述-04操作系统结构

文章目录 【王道操作系统】ch1计算机系统概述-04操作系统结构操作系统的内核操作系统的体系结构考纲新增内容&#xff08;红色为全新内容&#xff0c;黄色为原有内容&#xff09;&#xff1a;01 分层结构02 模块化03 宏内核&#xff08;大内核&#xff09;和微内核04 外核 【王…

redis03 八种数据类型

思维草图 String类型 字符串类型&#xff0c;是redis中最简单的存储类型&#xff0c;可以包含任何数据&#xff0c;例如jpg图片或者序列化的对象等&#xff0c;底层都是以字节数组形式存储&#xff0c;最大能存储512MB的数据。 常用命令 KEY命名规范 加前缀&#xff0c;分…

802.11局域网的 MAC 帧

目录 802.11 局域网的 MAC 帧 802.11 数据帧的三大部分 1.关于 802.11 数据帧的地址 最常用的两种情况 2.序号控制字段、持续期字段和帧控制字段 802.11 局域网的 MAC 帧 802.11 帧共有三种类型&#xff1a;控制帧、数据帧和管理帧。 802.11 数据帧的三大部分 MAC 首部&…

总结springboot启动jar,指定配置文件

第一&#xff1a;覆盖 -- 覆盖系统中的文件中的application-dev.yml文件&#xff0c;两种指定方法都可以 springboot默认优先读取application.properties>application.yml>指定文件(application-dev.yml) 公共配置可以在application.yml&#xff0c;其他配置在applicatio…

基于 STM32U5 片内温度传感器正确测算温度

目录预览 1、引言 2、问题 3、小结 01 引言 STM32 在内部都集成了一个温度传感器&#xff0c;STM32U5 也不例外。这个位于晶圆上的温度传感器虽然不太适合用来测量外部环境的温度&#xff0c;但是用于监控晶圆上的温度还是挺好的&#xff0c;以防止芯片过温运行。 02 问题…

C# - 类与类之间的继承关系判断

Type.IsSubclassof(Type type) 作用&#xff1a;用来确定 一个类是否派生自另一个类/ValueType/Enum/委托 不能用于确定&#xff1a;接口是派生自另一个接口&#xff0c;还是类实现接口 class A{} class B : A{}A a; B b;var boo b.GetType().IsSubclassOf(typeof(A)) // t…

sqllabs第五关floor报错注入

实验环境sqllabs第五关 floor()报错注入的原因是group by在向临时表插入数据时&#xff0c;由于rand()多次计算导致插入临时表时主键重复&#xff0c;从而报错&#xff0c;又因为报错前concat()中的SQL语句或函数被执行&#xff0c;所以该语句报错且被抛出的主键是SQL语句或函…

go语言中的协程和Java中线程以及进程的区别

理解 Go 语言中的协程&#xff08;Goroutine&#xff09;、Java 中的线程和进程之间的区别可以从以下几个方面来看&#xff1a; 轻量性&#xff1a; Goroutine&#xff08;协程&#xff09;&#xff1a; 协程是非常轻量级的执行单位&#xff0c;创建和销毁的成本很低。在 Go 中…

深入理解Lambda表达式:基础概念与实战演练【第114篇—python:Lambda表达式】

深入理解Lambda表达式&#xff1a;基础概念与实战演练 在现代编程语言中&#xff0c;Lambda表达式作为一种轻量级的匿名函数形式&#xff0c;越来越受到程序员的青睐。特别是在函数式编程兴起的今天&#xff0c;Lambda表达式在简化代码、提高可读性方面发挥着重要作用。本文将…

C++笔记(六)--- 静态成员变量/函数(static)

目录 C语言中静态变量 C静态成员变量 C静态成员函数 C语言中静态变量 1.函数内部用static修饰的变量&#xff0c;只能在此函数使用&#xff0c;但所修饰的变量不随函数释放而释放&#xff0c;下次调用时的值仍为上次结束时的值2.static修饰的全局变量只能在其定义的文件使用…

华为OD技术面试案例6-2024年

个人情况&#xff1a;西电本&#xff0c;二战某985基本寄了。知识储备方面&#xff1a;无任何408基础&#xff0c;学校开过数据结构课程60分过&#xff0c;python纯靠自学&#xff0c;无任何刷题经验&#xff0c;无项目经验&#xff0c;简历东拼西凑。 大概是12月底和OD联系&a…

数据可视化原理-腾讯-热力图

在做数据分析类的产品功能设计时&#xff0c;经常用到可视化方式&#xff0c;挖掘数据价值&#xff0c;表达数据的内在规律与特征展示给客户。 可是作为一个产品经理&#xff0c;&#xff08;1&#xff09;如果不能够掌握各类可视化图形的含义&#xff0c;就不知道哪类数据该用…