zoukankan      html  css  js  c++  java
  • 计算中的位移

      位移运算的场景:高低位截取、哈希计算、乘除法运算;在实际编程中位移运算仅作用于整型(32位)和长整型(64位)数上;按位操作是直接操作内存,效率高。

      (1)向右移动一位近似表示除以2,但是十进制的奇数转化为二进制数后,在向右移动时,最右边的1将被直接抹去,这说明向右移动对于奇数来说并非完全相当于除以2

      (2)向左移动时正数的结果可能是正,也可能是负;负数左移的结果同样可能是正,可能是负;

      (3)只存在无符号向右移动(>>>),不存在无符号向左移动(<<<);无符号向右移动的运算常用在高位转低位的场景中;

      (4)正数进行无符号向右移动时最小值是0,而负数进行无符号向右移动时最小值是1;

      (5)在整型数上移动的位数是32位时,无论是否带符号位以及移动方向,结果都是其本身,这是因为移动的位数是一个mod 32的结果(32除以32的模,结果是0)。

      (6)逻辑或、逻辑与运算只能对布尔类型的条件表达式进行运算。

      其它,使用同一个运算器,可以减少中间变量存储的开销,这样降低了CPU内部的设计复杂度,使内部结构更加精简,计算更加高效,无论对于指令、寄存器,还是运算器都会减轻很大的负担。

    阅读是一种修养,分享是一种美德。
  • 相关阅读:
    Java中Timer的用法
    Java ThreadFactory接口用法
    ThreadPoolExecutor使用介绍
    linux命令学习-4-lsof
    备份文件-域名+日期扫描
    Trickbot展示新技巧:密码抓取器模块
    Trickbot增加的远程应用程序凭证抓取功能
    基于ATT和CK™框架的开放式方法评估网络安全产品
    调试键盘纪录类型的样本
    LordPE修复从进程dump出来的内存文件
  • 原文地址:https://www.cnblogs.com/bien94/p/12502393.html
Copyright © 2011-2022 走看看