gpt4 book ai didi

c++ - 按位 & 运算符返回 255

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:20 24 4
gpt4 key购买 nike

我正在使用按位 & 运算符,但我得到的结果不是 1 和 0,而是 255 和 0。可能是什么原因?代码是

 cv::Mat TL_k_idx = ((orientation_map.col(0)<=(quad_coords[0]+quad_coords[2])/2) & (orientation_map.col(1)<=(quad_coords[1]+quad_coords[3])/2));
cout<<TL_k_idx;

The output of TL_k_idx is:
255 255 255 255 0 0............

orientation_map是Mat数据类型,quad_coords是数组,我做错了什么?

在使用逻辑运算符 && 时出现错误

error: no match for ‘operator&&’ in ‘cv::operator<=(const cv::Mat&, double)((double)((*
(quad_coords) + *(quad_coords + 8u)) / 2)) && cv::operator<=(const cv::Mat&, double)((double)((*
(quad_coords + 4u) + *(quad_coords + 12u)) / 2))’|

最佳答案

您不应期望按位 and 为 0 或 1。

下面是 255 的情况:

a = 255 & 255 // then a = 255;

举几个例子

Example 1    11111111 & 11111111 = 11111111 or 255

Example 2: 01010101 & 00000111 = 101 or 5.

http://en.wikipedia.org/wiki/Bitwise_operations_in_C

关于c++ - 按位 & 运算符返回 255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18395579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com