ну почему сразу на 20, а вдруг 2 стоп-бита или по 7 бит данных?
А зачем флоат перемножать, это добавляется дополнительная операция у интов чтоб получить похожее значение на флоат