分页计算公式


一:if(记录数据总数%每页显示的记录数==0)
    {
     页数=记录总数/每页显示的记录数
    }
    else
    {
     页数=记录数据总数/每页显示的记录数+1
    }

二:第N页显示第几条记录(记录从0开始算)
   
    (N-1)*每页条数=<序号<N*每页条数

转载于:https://www.cnblogs.com/JemBai/archive/2009/08/08/1541784.html

### 分页存储管理计算公式 #### 主存地址表示位数 对于给定的主存容量为1M的情况,假设字长为16位,则主存地址需要用16位来表示。由于主存被分为256份,即有256个块,因此每个块可以由8位二进制数唯一标识[^1]。 #### 页面长度与页内地址表示位数 如果主存总共有1M (2^20 B), 并且被分成256部分,那么每一部分(也即是每一页)大小为 \( \frac{2^{20}}{256} = 2^{12} \) 字节 或者说4KB。这意味着逻辑地址中的页内地址需要12位来表示每一个可能的位置在该页面内的偏移量。 #### 物理块号所需比特数 当物理内存大小设定为4GB而页面尺寸固定为4KB时,整个物理内存可划分成\( \frac{2^{32}}{2^{12}} = 2^{20}\)个独立的块。这表明为了能够区分所有的这些不同的块位置,在最坏情况下至少需要20位去编码任意一个特定的物理块编号[^2]。 ```python # Python code to calculate the number of bits required for page offset and frame number. memory_size_bits = 2 ** 20 # 1MB in bytes as power of two pages_count = 256 page_size_bits = memory_size_bits / pages_count # Page size in bits physical_memory_size_bits = 2 ** 32 # 4GB in bytes as power of two frame_size_bits = 2 ** 12 # Frame/Page size in bits frames_count = physical_memory_size_bits / frame_size_bits bits_for_page_offset = int(page_size_bits).bit_length() - 1 bits_for_frame_number = frames_count.bit_length() - 1 print(f"Bits needed for page offset: {bits_for_page_offset}") print(f"Bits needed for frame number: {bits_for_frame_number}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值