Re[26]: Carbon
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.04.24 18:18
Оценка: +1 -1 :)
Здравствуйте, vdimas, Вы писали:
V>Мы уже обсуждали это не раз, и ты как раз отвечаешь на суть того, с чем все (или почти все) согласились — "разница" должна быть знаковой.
Угу. Гляжу в книгу, вижу фигу.

V>Я ж показал рядом, как можно корректно расписать взаимодействие знаковых и беззнаковых чисел:

Можно, но арифметика уже устроена определённым образом. И её поменять на вашу, увы, не получится.

V>Тебе заранее на всё ответили. ))



V>Это до тех пор, пока нет приличного оптимизатора.

Нет, это напрямую запрещено стандартом.

V>А когда появится, то будет что-то типа такого поведения под x64:

V>
V>    public static void Main(string[] args)
V>    {
V>        static bool IsMax(int i) {
V>            return (i + 1u) < i;
V>        }
        
V>        Console.WriteLine(IsMax(0x7FFFFFFF));
V>    }
V>

V>бгг...
Никогда такого поведения не будет. И приведённое вами поведение чётко описано в стандарте. Поэтому вот этот код даст false хоть в первом дотнете, хоть в девятом, и вне зависимости от дебаг/релиз режима. И в любой следующей версии дотнета продолжит выдавать false.
А код, где к i прибавляется знаковая единица, продолжит выдавать true. Ваши бугагашечки — просто роспись в некомпетентности, увы.


V>Это официальная причина от непосредственных разработчиков дотнета.

И с кем из непосредственных разработчиков дотнета вам довелось пообщаться?

V>Извини, но выдать такое мог только человек с не очень большим опытом в написании программ.



V>Поэтому, важность детерминированного поведения в случае знакового переполнения примерно нулевая.

V>Да всем насрать, собсно.


V>Я даже не могу придумать реальной задачи, которую стоит решать таким образом, потому что в таких задачах всегда удобней беззнаковое, т.е. просто набор бит.



V>И ты тоже не придумаешь такой задачи, просто разводишь своё обычное пустопорожнее ля-ля-ля.

Задачу с усреднением трёх интов, я так понимаю, вы тактично решили своим вниманием обойти.

V>Любая непродуманная дичь вызвала бы бесконечную по объёму реакцию.

Ну так она и вызывает. Просто вы в своём тепличном мирке ничего этого не видите.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.