数据运算——逻辑运算

  • 一、逻辑运算
    • 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反码

数据运算——逻辑运算相关推荐

  1. pandas数据分析之数据运算(逻辑运算、算术运算、统计运算、自定义运算)

    数据分析离不开数据运算,在介绍完pandas的数据加载.排序和排名.数据清洗之后,本文通过实例来介绍pandas的常用数据运算,包括逻辑运算.算术运算.统计运算及自定义运算. 一.逻辑运算 逻辑运算是 ...

  2. Python 第2周 - Python基础-模块\数据运算

    内容 模块初识 数据运算 bytes数据类型 python数据类型 列表的使用 元组与购物车操作 购物车程序练习 字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 一.模块初识 Pyth ...

  3. str转list_数据运算030篇字符串处理str_dec的局限

    "当str_dec遇上英文括号"生活科学哥-R语言科学 2020-11-28 16:31最近过着狗一样的日子,在折腾数据,一个月没有更新了.今天与大家分享自己在用str_dec时的 ...

  4. 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 ...

  5. python不同数据类型的式子_Python 基础篇:数据类型、数据运算、表达

    1. 数据类型 1.1 数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-231-231-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取 ...

  6. python列表数据运算_Python基础(2)——数据类型:Numbers、列表、元组、字典、字符串、数据运算...

    #Numbers数字分为:int整型,long长整型,float浮点型,complex复数 x1= 10x2= 10.0 print(type(x1),type(x2))#print()函数,用于输出 ...

  7. 解剖C语言---数据类型转换与数据运算集锦

    C语言学习笔记 之  数据类型转换与数据运算 一:数据类型转换 (1)自动转换(5+5.000000=?结果是10还是10.000000):发生在不同类型的数据混合运算时,由编译系统自动完成. 不同的 ...

  8. 01 Python学习--第一周--开课介绍、数据类型、数据运算、表达式、循环、三元运算、对象基本概念...

    模块一主要内容 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 ...

  9. C语言基础——数据运算

    一 运算基础 运算的本质是根据已有数据,进行各种运算处理,得到新的数据.所以,运算的基础就是数据.在数据的表示方法中,声明的变量只是一个空的指代,并没有和具体的数据进行关联.如果要使用变量,就要把数据 ...

最新文章

  1. Web项目使用nginx实现代理端口访问,看这篇就够了
  2. python利用requests进行爬虫_Python利用Requests库写爬虫(一)
  3. 【MM模块】 Info Record 采购信息记录
  4. c++生成光栅条纹程序_【光学学报】激光分束,自由曲面分束器能挑战相位光栅吗?...
  5. 19.并发容器之BlockingQueue
  6. 2019全球AI训练营五地再同发
  7. css 透明度_如何在网页控制透明度
  8. HTML5css3学习总结(2)
  9. Extjs 判断对象是非为null或者为空字符串
  10. 导出csv文件数字会自动变科学计数法的解决方式
  11. 如何从PDF中删除页面?
  12. 确定单峰区间Matlab,0618法matlab实验报告.doc
  13. Glide在github上的jar包下载方法
  14. python公众号文章_python微信公众号文章爬取
  15. xmlspy使用必备的技巧
  16. 《当程序员的那些狗日日子》六
  17. 生活是艰难的,我又划着我的断桨出发了
  18. kali启动后出现Resuming from hibernation错误
  19. OPPO手机测试指令代码大全
  20. 7.5ElGamal算法

热门文章

  1. 程序员如何平衡工作与生活
  2. 10.3 英语听力练习
  3. linux 下载sra数据库,NCBI下载SRA数据和之后的数据处理
  4. linux 光功率 模块_硅光PSM4/DR4光模块中的大功率激光器到底需要多大?(修改重发)...
  5. 啥是佩奇,让 Python 告诉你!
  6. 2n皇后问题C语言实现
  7. chatgpt引入思考过程还是会出错?为什么不让机器检讨检讨自己(李宏毅)
  8. mysql数据库的冷热备份_MySQL数据备份方式,及热备与冷备的优缺点
  9. 什么是限流及如何限流
  10. MySQL自增id不连续问题