tlwh163 发表于 2024-12-30 13:50:29

取得2个区间的交集

本帖最后由 tlwh163 于 2024-12-31 14:29 编辑

在群里问了 好像是没有相关的API可以调用 自己手搓。。。


''区间样式:[起点,长度],使用返回同样式的交集      '取得2个区间(和)的交集
Function GetInterSection(ByRef a As Long, ByRef b As Long, ByVal c As Long, ByVal d As Long) As Boolean
    If (b Or d) <= 0 Then Exit Function               '长度不允许小于等于0
    Dim aa As Long, bb As Long: aa = a : bb = (a + b)
    If aa < c Then aa = c                               'max(a,c)
    If bb > (c + d) Then bb = (c + d)                   'min(b,d)
    If aa <= (bb - 1) Then                              '有交集: max(a,c)<=min(b,d)
      a = aa
      b = bb - aa
      GetInterSection = true
    End If
End Function

文字总是对不齐 恼火、、、

0xAA55 发表于 2025-1-1 13:36:39

“Intersection”是一个单词,而不是“Inter Section”

tlwh163 发表于 2025-1-2 09:26:11

本帖最后由 tlwh163 于 2025-1-2 12:56 编辑

0xAA55 发表于 2025-1-1 13:36
“Intersection”是一个单词,而不是“Inter Section”

你说的对 不过单词太长了 我是想方便看清楚重点
页: [1]
查看完整版本: 取得2个区间的交集