Вам нужно будет знать диапазон возможных альфа-значений в формате с плавающей запятой. Если предположить, что диапазон возможных значений альфа-канала с плавающей запятой находится в диапазоне от 0,0 до 1,0 (включительно), то это будет работать:
#include <cmath>
long lalpha{std::lround(alpha * 255)};
В случае, если верхняя граница диапазона альфа-диапазона с плавающей запятой не равна 1,0, выможет делить альфа-значение с плавающей запятой на верхнюю границу для нормализации в диапазоне от 0,0 до 1,0 включительно.