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进行分配,避免内存分配时频繁的除运算指令,提高速度。

  • 相关阅读:
    vim代码对齐
    在liunx中,快速查找到以前使用过的命令行
    linux文件权限与目录设置
    ASP常用代码
    存储过程
    WebService
    SNS
    浪曦博客系统
    SQL事件探查器与索引优化向导
    光盘AJAX
  • 原文地址:https://www.cnblogs.com/seebro/p/2767044.html
Copyright © 2011-2022 走看看