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

  • 相关阅读:
    java分解质因数
    GUID全局唯一标识符
    Oracle-教师信息表(Teacher)
    Oracle-成绩表(Score)
    Oracle-建表course
    Oracle-建表student
    输入输出-复制
    Map
    哈希
    链表
  • 原文地址:https://www.cnblogs.com/seebro/p/2767044.html
Copyright © 2011-2022 走看看