读书人

内存储器块重叠的判断方法

发布时间: 2013-09-06 10:17:17 作者: rapoo

内存块重叠的判断方法

内存块a, 起点为a1, 终点为a2, a2>=a1;

内存块b,起点为b1, 终点为b2, b2>=b1;

如满足条件b1<=a2 && a1<=b2,则内存块重叠;

如满足条件a1>b2 || b1>a2, 则内存块不重叠。

此结论可以推广到其他一维线性区间重叠的判断。比如时间段,IP地址段等。


推论过程;

两种不重叠的情形:a1>b2 || b1>a2

(1)a1>b2

a -------------

b ----------

(2) b1>a2

a --------

b --------------


将不重叠的情形取反,就得到重叠的情形。
!(a1>b2 || b1>a2) => b1<=a2 && a1<=b2

读书人网 >编程

热点推荐