地址对齐数学证明

2021年12月1日20:54:01 星期三
本文用数学方法证明地址对齐原理

说明:存在唯一整数 x0、q、n、r 满足
x0 = qn + r;
0 <= r < n

x0 = qn + r

0 <= r < n 都加 qn 得 qn <= qn + r < qn + n = (q + 1)n
qn <= x0 < (q + 1)n
把上面不等式各边都加 n - 1得
qn + n -1 <= x0 + n -1 < (q + 1)n + n - 1
把上面公式每边整除 n得
q <= [ (x0 + n - 1)/n] < q+1
把上面公式各边都乘以 n 得
qn <= [ (x0 + n - 1)/n] n<(q+1)n
公式 [ (x0 + n - 1)/n] n计算如下
因为 x0 = qn +r

[(x0 + n - 1)/n] = [ (qn + r + n -1)/n ] = q + [(r + n - 1)/n]

请证明 x1 = [ (x0 + n - 1)/n]nx0 按 n 像高位对齐的。
证明过程

x1 = [ (x0 + n - 1)/n]n  = qn +  [(r + n - 1)/n]n
x1 = qn +  [(r + n - 1)/n]n

当 r = 0 时,

x1 = qn +  [(r + n - 1)/n]n  
x1 = qn +   [(0 + n - 1)/n]n
x1 = qn + [(n-1)/n]n
x1 = qn + 0*n
x1 = qn + 0
x1 = qn 
x1 = x0

可以看到当 r = 0时, x1 是等于 x0,

当 0 < r < n 时 即 1 <= r < n

1 <= r < n
1 + ( n - 1) <= r + (n - 1) < n + (n-1)
n <= r + n - 1< n + (n-1)
[n/n] <= [(r + n - 1)/n] < [(n + (n-1))/n]
1 <=  [(r + n - 1)/n] < [n/n] + [(n-1)/n]
1 <= [(r + n - 1)/n] < 1+ 0
1 <= [(r + n - 1)/n] < 1
[(r + n - 1)/n] = 1

因为 [(r + n - 1)/n] = 1
所以

x1 = qn +  [(r + n - 1)/n]n  
x1 = qn + 1*n
x1 = qn +n
x1 = (q+1)n

因为

x1 = [ (x0 + n - 1)/n]n 
x1 = qn; r = 0;
x1 = (q + 1)n;  0

所以 x0 按 n 对齐的公式是

f(x) = [(x + n - 1)/n]n 

你可能感兴趣的:(地址对齐数学证明)