MENU

开发联飞服务时的一些思考 ② FSD的一处Trick

May 18, 2021 • 默认分类

这篇内容有些人会觉得没什么营养,说白了就是利用位运算,但我还是单独抽出来做一个记录。我感觉很精妙。

// filename: fsd/client.h
#define CLIENT_PILOT 1
#define CLIENT_ATC   2
#define CLIENT_ALL   3

Pilot、ATC、All仅仅是简单的1、2、3顺序标号吗?
五年前的我确实是这么认为的,在重写Rum的过程中,去实现区域内广播、多播时,我才注意到:

┌───┬───┐
│ 0 │ 1 │   CLIENT_PILOT
└───┴───┘
┌───┬───┐
│ 1 │ 0 │   CLIENT_ATC
└───┴───┘
┌───┬───┐
│ 1 │ 1 │   CLIENT_ALL
└───┴───┘

记于 2019年06月08日清晨

Archives QR Code
QR Code for this page
Tipping QR Code