In a language with a sufficiently advanced type system you can use Peano numbers to specify a type specifying an integer between 0 and 10. These type systems usually are smart enough to have optimized internal representation of said types.
In the future we’ll have const generics that let you express it directly without that shenanigans.
type jump_by_tenth is delta 0.1 range 1.0 .. 99.0;ETA: I'm not completely correct. Ada could have used something akin to 2-complement overflow handling, that is forcing every operation on a range to have a result in the same range, but it introduces runtime overhead too.