qint64 key = (dist << 32) + (dy << 16) + dx;
时间: 2024-05-17 19:14:30 浏览: 5
这行代码的作用是将 dist、dy 和 dx 组合成一个 64 位整数类型 qint64 的排序关键字 key。其中,符号 << 表示左移操作,将一个数的二进制码向左移动指定的位数,低位补 0。在这里,dist 左移 32 位,dy 左移 16 位,dx 不需要左移。最终,将这三部分数据拼接成一个 64 位整数,作为排序的关键字。
相关问题
int dy = p.y() - _gravity.y(); int dx = p.x() - _gravity.x(); qint64 key = (dist << 32) + (dy << 16) + dx;
这几行代码是计算每个扩展(_expns)的排序关键字,以便对它们进行排序。其中,dy 和 dx分别表示扩展相对重心的 y 坐标和 x 坐标的偏移量,dist 是扩展和重心之间的曼哈顿距离(ManhattanLength),计算曼哈顿距离的函数在这段代码中没有给出。最后,将这三个值组合成一个qint64类型的排序关键字key,其中dist占据高32位,dy占据中间16位,dx占据低16位。
sendOut << qint64(0) << qint64(0) << currentFileName;的含义
这段代码是将文件名和文件大小一起写入一个数据流中。`sendOut`是一个QDataStream对象,`qint64(0)`作为占位符,表示文件大小,因为在写入实际的文件大小之前,我们不知道它的值,因此我们先写入0。接下来的`currentFileName`是文件的名称。这样,我们就可以将文件名和大小一起发送到接收端。在接收端,我们可以先读取文件名,然后读取文件大小,并根据文件大小来接收文件的内容。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)