数据运算——逻辑运算
数据运算——逻辑运算
- 一、逻辑运算
- 1.通过例题掌握位模式层次上的逻辑运算
- 2.位模式层次上的逻辑运算的应用
- 1.**与运算使指定位==复位==**
- 2.**或运算使指定位==置位==**
- 3.**异或运算使指定位==取反==**
- 二、移位运算
- 1.逻辑移位
- 2.循环移位
- 3.算术移位
- 算术右移
- 算术左移
- 举例
- 1>.(算术右移)
- 2>.(算术左移)
- 3>.(算术左移发生溢出)
- 三、算术运算
- 1>举例:正数加法A+B
- 2>举例:正数+负数A+B
- 3>举例:减法 正数-负数A-B
- 4>举例:减法 负数减正数A-B
- 5>举例:溢出
一、逻辑运算
位层次上的逻辑运算:与、或、非、异或
(这里之简要介绍异或运算)
检查y的输入端,如果输入是1,则输出与另一位不同
如果y=0输出就与x相同
如果y=1输出就与x相反
1.通过例题掌握位模式层次上的逻辑运算
结果:
00001000
结果:1011 1111
结果:1011 0111
2.位模式层次上的逻辑运算的应用
1.与运算使指定位复位
复位: 把一个数变成零
1010 1110 AND 1111 1000=1010 1000
2.或运算使指定位置位
置位: 把一个数变为1
1010 0110 OR 1111 1000=1111 1110
3.异或运算使指定位取反
1010 0110 XOR 1111 1000=0101 1110
ps:掩码:maskcode(上式中1111 1000为掩码)
二、移位运算
1.逻辑移位
逻辑移位不用于有符号的数
举例
2.循环移位
举例
3.算术移位
假定操作对象是一个二进制补码格式的有符号整数
算术右移
用于将整数除以2
算术左移
用于将整数乘以2
举例
1>.(算术右移)
对1001 1001算术右移1位,该模式用二进制补码存储
2>.(算术左移)
对1101 1001算术左移1位,该模式用二进制补码存储
3>.(算术左移发生溢出)
对0111 1111算术左移0位,该位模式用二进制补码存储
符号位改变了,发生溢出
三、算术运算
使用补码表示整数的加减法运算
1>举例:正数加法A+B
整数A和B都是二进制补码了,计算A+B
A=(0001 0001)B 17
B=(0001 0110)B 22
结果:
R=(0010 0111)B 39
2>举例:正数+负数A+B
高位溢出不用管
A=(0001 1000)B 24
B=(1110 1111)B -17
结果:
R=(0000 0111)B +7
ps:符号位变化
(0+0=1,1-0=0,0-1=1)
以下都是可能
正数+正数才可能(正)溢出
负数+负数可能(负)溢出
正数 - 负数 负数 - 正数会溢出
3>举例:减法 正数-负数A-B
A=(0001 1000)B 24
B=(1110 1111)B -17
永远对B(被减数)进行补码运算
B(补码)=(0001 0001)B
结果:
R=(0010 1001)B 41
4>举例:减法 负数减正数A-B
A=(1101 1101)B -35
B=(0001 0100)B 20
B(补码)=(1110 1100)B
结果:
R=(1100 1001)B -55
5>举例:溢出
A=(0111 1111)B 127
B=(0000 0011)B 3
结果:
R=(1000 0010)B -126
预期结果为130但是实际上发生了溢出,因为8位二进制补码表示的范围是-128~+127
当我们在计算机中对数字进行算数运算时,应该记住每个数字和结果都应分配在二进制位的定义范围之内
two’s complement补码
one’s complement反码
数据运算——逻辑运算相关推荐
- pandas数据分析之数据运算(逻辑运算、算术运算、统计运算、自定义运算)
数据分析离不开数据运算,在介绍完pandas的数据加载.排序和排名.数据清洗之后,本文通过实例来介绍pandas的常用数据运算,包括逻辑运算.算术运算.统计运算及自定义运算. 一.逻辑运算 逻辑运算是 ...
- Python 第2周 - Python基础-模块\数据运算
内容 模块初识 数据运算 bytes数据类型 python数据类型 列表的使用 元组与购物车操作 购物车程序练习 字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 一.模块初识 Pyth ...
- str转list_数据运算030篇字符串处理str_dec的局限
"当str_dec遇上英文括号"生活科学哥-R语言科学 2020-11-28 16:31最近过着狗一样的日子,在折腾数据,一个月没有更新了.今天与大家分享自己在用str_dec时的 ...
- python3基础3--数据类型--数据运算--表达式if -else-while-for
一.python3 数据类型 1.1 数字 例如:1,2,3,4等 1.2 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2 ...
- python不同数据类型的式子_Python 基础篇:数据类型、数据运算、表达
1. 数据类型 1.1 数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-231-231-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取 ...
- python列表数据运算_Python基础(2)——数据类型:Numbers、列表、元组、字典、字符串、数据运算...
#Numbers数字分为:int整型,long长整型,float浮点型,complex复数 x1= 10x2= 10.0 print(type(x1),type(x2))#print()函数,用于输出 ...
- 解剖C语言---数据类型转换与数据运算集锦
C语言学习笔记 之 数据类型转换与数据运算 一:数据类型转换 (1)自动转换(5+5.000000=?结果是10还是10.000000):发生在不同类型的数据混合运算时,由编译系统自动完成. 不同的 ...
- 01 Python学习--第一周--开课介绍、数据类型、数据运算、表达式、循环、三元运算、对象基本概念...
模块一主要内容 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 ...
- C语言基础——数据运算
一 运算基础 运算的本质是根据已有数据,进行各种运算处理,得到新的数据.所以,运算的基础就是数据.在数据的表示方法中,声明的变量只是一个空的指代,并没有和具体的数据进行关联.如果要使用变量,就要把数据 ...
最新文章
- Web项目使用nginx实现代理端口访问,看这篇就够了
- python利用requests进行爬虫_Python利用Requests库写爬虫(一)
- 【MM模块】 Info Record 采购信息记录
- c++生成光栅条纹程序_【光学学报】激光分束,自由曲面分束器能挑战相位光栅吗?...
- 19.并发容器之BlockingQueue
- 2019全球AI训练营五地再同发
- css 透明度_如何在网页控制透明度
- HTML5css3学习总结(2)
- Extjs 判断对象是非为null或者为空字符串
- 导出csv文件数字会自动变科学计数法的解决方式
- 如何从PDF中删除页面?
- 确定单峰区间Matlab,0618法matlab实验报告.doc
- Glide在github上的jar包下载方法
- python公众号文章_python微信公众号文章爬取
- xmlspy使用必备的技巧
- 《当程序员的那些狗日日子》六
- 生活是艰难的,我又划着我的断桨出发了
- kali启动后出现Resuming from hibernation错误
- OPPO手机测试指令代码大全
- 7.5ElGamal算法