需要存储的字节的最小数目以下对象:字节的最小数量需要
- 整数 - 之间0 - 364847
- 整数 - 之间0 - 37337
- 页面状态
- 在使用(我将使用单个位)
- 免费
- 脏
- 模式
- 只读
- 只写
- 仅执行的
- 读写
- 读取执行
- 读取写入执行
我认为至少需要6个字节,但我不确定。另外,我们可以使用一个字节中的未使用位来存储页面状态和模式吗?
需要存储的字节的最小数目以下对象:字节的最小数量需要
我认为至少需要6个字节,但我不确定。另外,我们可以使用一个字节中的未使用位来存储页面状态和模式吗?
理论极限(有算术打包)是log2(364848*37338*3*6) = 37.8352180528...
比特每记录小于5
字节。但是访问这样打包的数据将需要昂贵的整数分区。仔细想想你是否真的想要这样。
如果你让每个字段占用不同的位,你会得到ceil(log2(364848))+ceil(log2(37338))+ceil(log2(3))+ceil(log2(6)) = 40
位,这正好是5
字节,并允许通过简单的位移和掩码进行快速访问。
谢谢。我们不能只使用3位模式? 如果是RW,则设置Read = 1和Write = 1,依此类推。 (log2(364848))+ ceil(log2(37338))+ ceil(log2(3))+ ceil(log2(3))= 39' – Kattu
@Kattu'6'是一些状态,而不是位数。这将是'ceil(log2(364848))+ ceil(log2(37338))+ ceil(log2(3))+ 3',它自从'ceil(log2(6))= 3以来实际上是相同的40位'。 –
您存储了多少亿的记录,您需要关注每一个宝贵的位? – tadman