Я знаю, питання видається дивним. Програмісти іноді занадто багато думають. Будь ласка, читайте далі ...
У CI використання signed
і unsigned
цілих чисел багато. Мені подобається те, що компілятор попереджає мене, якщо я виконую такі речі, як присвоєння підписаного цілого числа непідписаній змінній. Я отримую попередження, якщо порівню підписані з непідписаними цілими числами та багато іншого.
Мені подобаються ці попередження. Вони допомагають мені правильний код.
Чому б ми не мали однакової розкоші для поплавців? Квадратний корінь точно ніколи не поверне від’ємне число. Є й інші місця, де від'ємне значення поплавця не має значення. Ідеальний кандидат для непідписаного поплавця.
Btw - Я не дуже захоплююсь єдиною додатковою точністю точності, яку я міг би отримати, видаливши шматочок знака з поплавків. Я дуже задоволений float
s s, як вони зараз. Я просто хотів би позначити float часом без підпису і отримувати такі ж попередження, які я отримую з цілими числами.
Мені не відома жодна мова програмування, яка підтримує неподписані числа з плаваючою комою.
Будь-яка ідея, чому їх не існує?
Редагувати:
Я знаю, що x87 FPU не має інструкцій поводжуватися з непідписаними плавцями. Давайте просто використовувати підписані вказівки поплавця. Неправильне використання (наприклад, нижчий за нуль) може вважатися невизначеною поведінкою так само, як невизначене переповнення підписаних цілих чисел.