Есть ли способ создать новый тип данных, где я определяю количество бит и арифметические правила в Scala? У меня есть программа, которая использует 32-битные поплавки, но я пытаюсь изучить, как повлияет на результаты.Как определить новый тип примитивных данных и его поведение в Scala
Я хочу переписать программу для добавления и умножения чисел с фиксированной точкой (d.f) и вернуть числа с фиксированной точкой с той же точностью (d.f, а не d1 + d2.f1 + f2). Кроме того, я хочу иметь насыщенность, чтобы при переполнении результат зависел от максимального значения, а не от обертывания. Я также хочу усечь биты, если есть underflow.
Из того, что я понимаю, только 8-битное число является коротким, а единственными десятичными числами являются поплавки и парные. Могу ли я каким-то образом определить этот тип данных в Scala или это единственный способ сделать регулярную арифметику float и округлить до ближайшего числа, которое может быть представлено моим желаемым типом?
Благодаря