zoukankan      html  css  js  c++  java
  • 数字舍入(内存分配)

    向下舍入:
    先从向下舍入说起,111以10为单位向下舍入为110,以100为单位舍入为100,从中不难发现所谓向下舍入,就是把最后几位数字强制变为0.,所以以4kbs为单位进行向下舍入为:t &= 0xfffff000;

    向上舍入:

    以4KB为例,向上舍入,先加0xfff判断进位,再向下舍入操作:t = (t + 0xfff) & 0xfffff000;
    十进制数不能用与运算舍入,由于每位刻度为2,所以为2n刻度舍入,首先想到的十进制数舍入方法 t = (t / 10) * 10;可将其改进写成i = i - (i % 100);无论如何非2n为单位进行舍入处理,必将使用除运算指令,是cpu最不好处理的指令之一,所以计算要花费较长的时间,而“与”命令是所有cpu指令中速度最快的指令之一,与除相比要快10到100倍。

    因此内存配按2n进行分配,避免内存分配时频繁的除运算指令,提高速度。

  • 相关阅读:
    Python 列表浅拷贝与深拷贝
    Linux 基本命令-----常用操作分类
    硬盘的分区方式
    github中fork的使用
    大O记号
    python的__file__和__name__变量
    python生成器
    python装饰器
    re模块元字符
    python_数据类型_list
  • 原文地址:https://www.cnblogs.com/seebro/p/2767044.html
Copyright © 2011-2022 走看看