Ответ 1
Неподписанные целые типы имеют два важных свойства, которые отличает их от целочисленных типов со знаком: "сдвинутый" диапазон (нет отрицательного поддиапазона, а положительный поддиапазон в два раза шире) и по модулю арифметики. Для целых типов эти свойства достаточно важны, чтобы оправдать существование неподписанных типов.
С плавающими типами ни одно из этих свойств не применяется немедленно. С типами с плавающей точкой основная проблема не в их диапазоне (для многих целей ее можно рассматривать как практически бесконечную), а скорее в точности. А модульная арифметика естественно не применима к нецелочисленным типам. По этой причине не было смысла вводить неподписанные типы с плавающей запятой, т.е. Не имело большого смысла переворачивать роль только одного бита в представлении с плавающей запятой.
Следует также отметить, что приведенные выше рассуждения, вероятно, следует использовать в качестве обоснования для внедрения беззнаковых целочисленных типов (а не для внедрения неподписанных типов с плавающей точкой) в популярное оборудование и соответствующие аппаратные производные стандарты. То, что мы имеем в C и С++, было по существу унаследовано от аппаратных возможностей и этих стандартов.
Конечно, из концептуальной точки зрения, было бы вполне логично иметь беззнаковые типы с плавающей запятой в языке, только ради последовательности. Но, увы, их там нет.