Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Подсобите с прогой плз (http://forum.oszone.net/showthread.php?t=108246)

ApxoH 01-06-2008 19:55 816099

Подсобите с прогой плз
 
Такое дело, горит зачёт...
Надо написать прогу на С++...

Деление произвольных двоичных чисел с фиксированной точкой с использованием прямых кодов

Я немогу понять как сделать сдвиг...
Кто может напишите плз и выложите исходник...

Admiral 01-06-2008 20:07 816108

Цитата:

Цитата ApxoH
Я немогу понять как сделать сдвиг... »

Цитата:

Цитата Admiral
...в С) есть так называемые операции сдвига:
вправо (shr) и влево (shl). Для десятичной системы это выглядит так
Код:
3 shl 5 => (3x(2в пятой степени))
5 shr 3 =>(5/(2в третей степени))
На примере двоичной системе становится ясно откуда они получили своё имя
00010101 shl 3 => 10101000
и в другую сторону при shr »


ivank 01-06-2008 20:29 816121

Конкретно в применении к С/C++ операции сдвига это
a >> b - сдвиг a на b разрядов вправо
a << b - сдвиг a на b разрядов влево.

ApxoH 01-06-2008 20:35 816126

Да, но там ведь надо, сделать так чтобы перед тем как сдвигать он сравнивал числа... Если неделится то на 2 сдвигать, и сносить дальше..

например

10011 : 11

Должно получиться так
10011
011

Как так сделать я незнаю...

ivank 01-06-2008 20:42 816129

ApxoH, Есть оператор a % b - остаток от деления a на b. Ещё есть оператор a & b (побитовое "и" а и b). Как это адаптировать к проверке на делимость, надеюсь, догадаетесь.

ApxoH 01-06-2008 21:09 816147

Фишка в том, что нельзя пользоваться встроеными функциями.. иначе былобы проше...
Я потому и обратился что незнаю как это сделать... Темболее когда мы будем оперировать & то мы будем работать с числом как в десятичной системе.. а надо имено в 2...


Время: 15:07.

Время: 15:07.
© OSzone.net 2001-