Odpowiedzi:
Jest to nieco mądry operator redukcji . |a & boznacza, że zastosujesz logiczne OR do wszystkich bitów a(tworząc pojedynczy bit), a następnie wykonasz logiczne AND tego bitu i b. |anie ma wpływu, gdy ajest pojedynczym bitem.
Niemniej jednak dość często obserwuje się bitową redukcję wartości pojedynczych bitów. Jednym typowym przypadkiem jest automatycznie generowany kod, w którym faktyczna szerokość amoże zależeć od konfiguracji. Inną możliwością jest to, że jest to starszy kod, w którym akiedyś było kilka bitów. Gdy astał się wartością jednobitową, linia ta była technicznie poprawna, więc pozostawiono niepotrzebnego operatora redukcji.