[cdev] зад

Grigoriy A. Sitkarev sitkarev на komitex.ru
Пн Сен 12 01:29:52 MSK 2011


Очень хорошо что хотите попробовать.

Ничего сложного там нет. В пример я добавил ещё сложение с насыщением. 
Такая арифметика обнаруживает переполнение и вместо сложения по модулю, 
устанавливает в результат минимальное или максимальное значение.

Задача разобраться почему функция sat_add_no64bit() работает также как и 
sat_add(), но при этом не использует 64-х разрядную арифметику. Есть 
подсказка:

1. Переполнение может возникать тогда когда складываются числа с 
одинаковыми знаками.

2. Переполнение никогда не возникает если складываются числа с разными 
знаками.

3. При переполнении результат имеет знак, обратный знаку результата без 
переполнения. Т.е. если складывались положительное и положительное 
число, при переполнении результат будет отрицательным. Если складывались 
отрицательное и отрицательное число, при переполнении результат будет 
положительным.

(+A) + (+A) = -B  	<== Переполнение!
(-A) + (-A) = +B	<== Переполнение!

Если будут вопросы, пишите в рассылку.

Забрать файлы можно или через subversion:

$ svn co http://wiki.syktsu.ru/svn/course

Или через HTTP смотреть на http://wiki.syktsu.ru/websvn каталог `course':

http://wiki.syktsu.ru/websvn/listing.php?repname=course&path=%2F&sc=0

--
Г.А.

11.09.2011 23:26, Ser пишет:
> Григорий Александрович, выложите пожалуйста исходники программы которую мы
> разбирали в субботу(135 группа) 10.09.11, хотелось бы попробовать
> разобраться.




Подробная информация о списке рассылки cdev