Re[8]: Откуда эта лютая любовь к знаковым целым?
От: vopl Россия  
Дата: 08.05.20 07:59
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, vopl, Вы писали:


V>>Ну, хз. То ли получаются те самые фломастеры, которые разные на вкус и цвет, то ли теперь надо определиться, что за "числа, которые нужны" и почему они без мнимой части, ато вдруг программист будет не только вычитание делать, но еще и корни начнет извлекать..


E>Тут есть тонкость. Целые вложены в вещественные (в том смысле, что если результат какой-то операции на целых определён, то он такой же и на вещественных) вещественные -- в комплексные. Целые, кстати, ещё вложены и в гаусовы, которые тоже вложены в комплексные. Но гаусовы числа у программистов почему-то не особо в чести


E>В области тех моделей чисел, что доступны в С, всё не так хорошо, потому, что они вложениями не являются, хотя в чём-то всё равны близки к идеалу.


E>А вот модули по вычету они вложением в целые, вещественные или комплексные не являются. Они даже не являются вложениями друг в друга.

E>То есть, например, корректно вычисленная сумма int32_t будет та же и для int64_t. А вот с uint32_t и uint64_t такая фигня уже не проходит

Что за "числа, которые нужны" — это, пожалуй, был хороший вопрос

Что за софистика приведена выше? Вот еще тезисы в таком же ключе:
1. целые int32_t не являются подмножеством математических целых, так как они закольцованы
2. вещественные float/double/... не являются подмножеством действительных математических целых, так как...
3. int32 не являются вложением int64 так как кольца у них разные (не в c++, в x86 например), формулировка "корректно вычисленная сумма" неуместна ибо является спецификой для int32.
4. вещественные float не являются вложением double...
5. ...

Да это всё — разные модели. Они все "не являются". Оригинальный замес ТС был про то, что "в некоторых ситуациях даны все условия чтобы использовать беззнаковые, почему вместо них все продолжают использовать знаковые?". Кольца, переполнения, другие ужасы — это все выходит за рамки оригинального вопроса. Да и ладно что беззнаковые — кольца. В оригинальных условиях это никогда не выстрелит.

Вот ты говоришь "корректно вычисленная сумма int32_t будет...". Что за "корректность" такая, кто сказал что должны применяться именно эти твои правила "корректности"? Правила этой темы задал ТС в своем стартовом сообщении. А ты тут придумываешь _другие_ правила. Конечно, по этим другим правилам получается что то другое. Те самые "числа, которые НЕ нужны".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.