20、编程与逻辑问题解析

编程与逻辑问题解析

1. 矩形重叠判断

1.1 函数实现

通过一系列规则,可得到用于判断两个矩形是否重叠的函数:

boolean overlap( Rect a, Rect b){
    return( a.ul.x <= b.lr.x &&
            a.ul.y >= b.lr.y &&
            a.lr.x >= b.ul.x &&
            a.lr.y <= b.ul.y );
}

1.2 条件验证

该函数判断两个矩形重叠的条件如下:
- A 的左边缘在 B 的右边缘左侧。
- A 的上边缘在 B 的下边缘上方。
- A 的右边缘在 B 的左边缘右侧。
- A 的下边缘在 B 的上边缘下方。

这些条件意味着矩形 B 不可能在矩形 A 之外,所以必然存在重叠,此逻辑合理。

2. 大小端字节序判断

2.1 大小端字节序概念

  • 字节序指计算机存储多字节值时字节的顺序。现代计算机大多用多字节序列表示基本数据类型,如整数通常为 4 字节。
  • 字节在整数中的排列顺序通常有两种:从最低有效字节(LSB)到最高有效字节(MSB),或从 MSB 到 LSB。
  • 在大端字节序机器中,MSB 地址最低;在小端字节序机器中,LSB 地址最低。例如,大端字节序机器存储 2 字节十六进制值 A45C 时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值