[软件资料] 布尔表达式和范围检查

[复制链接]
1078|8
 楼主| AdaMaYun 发表于 2024-3-6 10:00 | 显示全部楼层 |阅读模式

一个常用的布尔表达式是用于判断变量是否位于某个范围内,
例如,检查一个图形坐标是否位于一个窗口内:

  1. bool PointInRectangelArea (Point p, Rectangle *r)
  2. {
  3.    return (p.x >= r->xmin && p.x < r->xmax &&
  4.                       p.y >= r->ymin && p.y < r->ymax);
  5. }

这里有一种更快的方法:x>min && x<max可以转
换为(unsigned)(x-min)<(max-min)。这对于min等于0时更为有益。
优化后的代码如下:

  1. bool PointInRectangelArea (Point p, Rectangle *r)
  2. {
  3.     return ((unsigned) (p.x - r->xmin) < r->xmax &&
  4.    (unsigned) (p.y - r->ymin) < r->ymax);

  5. }


LOVEEVER 发表于 2024-3-9 20:39 | 显示全部楼层
布尔表达式是用于判断变量是否位于某个范围内
星辰大海不退缩 发表于 2024-3-11 14:34 | 显示全部楼层
其实还是点位坐标的运算
OKAKAKO 发表于 2024-3-11 15:23 | 显示全部楼层
x>min && x<max可以转
换为(unsigned)(x-min)<(max-min)。这对于min等于0时更为有益
小夏天的大西瓜 发表于 2024-3-18 17:45 | 显示全部楼层
布尔表达式是用于判断变量是否位于某个范围内
小小蚂蚁举千斤 发表于 2024-3-18 18:12 | 显示全部楼层
BOOL表达式就是判断位的
中国龙芯CDX 发表于 2024-3-21 15:25 | 显示全部楼层
布尔表达式是用于判断变量回复结构的真假情况吧
jf101 发表于 2024-3-22 11:26 | 显示全部楼层
布尔表达式的返回值是啥?
szt1993 发表于 2024-3-25 15:38 | 显示全部楼层
jf101 发表于 2024-3-22 11:26
布尔表达式的返回值是啥?

应该是0或者1,代表真假
您需要登录后才可以回帖 登录 | 注册

本版积分规则

308

主题

2692

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部