For Example:
You have the compressed value of 0x38, then actualValue = 2 << (0x38 - 1) (2 to the power of 56).
If the compressed value >= 0x80, then actualValue = (2 << (byte - 1)) - 1
Any value between 0 and 2^128 could be easily represented in a single byte without any data loss. This includes integers, floating point numbers, strings, etc... This could be especially useful in managed byte code, where pointers and values need to be represented in a size that is both portable and can be read quickly and efficiently. (it takes upto 8 clock cycles to convert the value on a x86 computer)
I also know there is a quick and efficient algorithm to solve for X when 2^X = actualValue...
Solve for X when 2^X = actualValue; x = ln(y) / ln(2)
I would love to hear any and all criticism on this idea
