-
- Все дело в том, что при сдвигах округления нет. И потом, при делении целых чисел Bill(602 знак., 17.01.2013 08:58)
- А с минус 1 что делать? Не проще перевести 2 командами в положит. - сдвиг - обратно отриц. - ilyaul(16.01.2013 19:15)
- не проще: поменять знак - это или вычитанием из нуля, или инверсия и прибавление единицы. Если речь идет хотя бы о 16-битном, это уже 8 команд минимум - koyodza(16.01.2013 23:44)
- Если речть идет о 16-битном то это 2 команды asm ilyaul(56 знак., 17.01.2013 00:56)
- ещё обратно забыли преобразовать. А также добавьте ветвление, потому что для положительных чисел это делать не нужно. В общем ананируйте на ассемблер дальше, не буду мешать :=) - koyodza(17.01.2013 01:03)
- Ветление там элементарное , проверяется старший бит , либо пропускается перевод в положит. число, либо нет. ilyaul(142 знак., 17.01.2013 01:20)
- ещё обратно забыли преобразовать. А также добавьте ветвление, потому что для положительных чисел это делать не нужно. В общем ананируйте на ассемблер дальше, не буду мешать :=) - koyodza(17.01.2013 01:03)
- Если речть идет о 16-битном то это 2 команды asm ilyaul(56 знак., 17.01.2013 00:56)
- а чем -1 отличается? Точно так же -1/2=-0.5, при округлении вниз получается -1 koyodza(103 знак., 16.01.2013 23:40)
- не проще: поменять знак - это или вычитанием из нуля, или инверсия и прибавление единицы. Если речь идет хотя бы о 16-битном, это уже 8 команд минимум - koyodza(16.01.2013 23:44)