博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定点运算——位移运算
阅读量:2338 次
发布时间:2019-05-10

本文共 756 字,大约阅读时间需要 2 分钟。

位移运算

前提:下述的移位运算推理过程是建立在合理的移位运算基础上的,即移位运算的结果和实际运算结果一致

位移运算的数学意义

位移运算,相当于小数点的移动,对数值进行扩大或者缩小进制数倍

左移运算,小数点右移,扩大
右移运算,小数点左移,缩小
在这里插入图片描述

位移运算的规则

  1. 位移运算仅仅改变数值部分,符号位不变==(下述是有意义的位移运算)==
  2. 删除原则:右移,左添右省;左移,右添左省

在这里插入图片描述

  1. 0,0011010 作为正数,在可进行移位运算的前提下,最高位不为1,对于正数而言,1是有意义的数字,省去一,就省去了实际的数字。
    在这里插入图片描述
  2. 对于-26的补码而言,1,1100110,由原码取补码的原则是:符号位不变,数值部分全部取反,末位加一。所以左边有意义的是0,无意义的是1;右边有意义的是1,无意义的是0。 所以对于补码而言,右移,左边添1;左移,右边添0

在这里插入图片描述

  1. 对于-26的反码1,1100101而言,由原码变成反码,是除符号位全部取反。所以对于数值部分,0表示1,1表示0。左移右边添1,右移左边添1

在这里插入图片描述

算术移位的硬件实现

  1. 正数原码,符号不变始终未0

    在这里插入图片描述

    • 左移,右边添0,最高位省去
    • 右移,左边添0,该0可取自符号位的0,右边最低位省去
  2. 负数原码,符号不变始终未1

    在这里插入图片描述

  • 左移,右边添0,最高位省去
  • 右移,左边添0,最低位省去
  1. 负数补码,符号不变始终未1
    在这里插入图片描述
  • 左移,右边添0,最高位省去
  • 右移,左边添1,该1可取自符号位的1,右边最低位省去
  1. 负数反码,符号不变始终未1
    在这里插入图片描述
  • 左移,右边添1,最高位省去
  • 右移,左边添1,该0可取自符号位的1,右边最低位省去
  1. 总结:根据上图可得,同样情况下丢1的意义不一样
    在这里插入图片描述

算术移位和逻辑移位的区别

  1. 算术移位:计算机中的存储方式,最高位为符号位,除符号位仅仅移动数值位
  2. 逻辑移位:不存在符号位,所有的数都是数值部分,全部参与移位运算在这里插入图片描述

转载地址:http://thgpb.baihongyu.com/

你可能感兴趣的文章
为何我看好老幼监控直播市场
查看>>
我为什么看好在线视频行业
查看>>
Xeon E3-1500 v5 GPU
查看>>
skylake AVC性能
查看>>
RTSP 协议分析 (一)
查看>>
RTSP协议分析(二)
查看>>
IPTV的前世今生与发展
查看>>
x264中的汇编x86inc.asm
查看>>
X264中的sad-a.asm
查看>>
x264中的cpu-a.asm
查看>>
x264中的DCT变换 dct-a.asm
查看>>
X264的时耗分析
查看>>
H.264 Profile、Level、Encoder三张简图
查看>>
NEON指令集综述
查看>>
FFmpeg的H.264解码器源代码简单分析:概述
查看>>
linux下编译调试x264
查看>>
debug和release版本的区别
查看>>
x86 指令集发展历程
查看>>
SLC、MLC、TLC闪存颗粒
查看>>
逐行Porgressive隔行Interlaced扫描的超详细讲解
查看>>