Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
DDR0703
0 / 0 / 0
Регистрация: 02.01.2010
Сообщений: 5
#1

Обработка битовых последовательности (Срочно) - C++

03.01.2010, 05:17. Просмотров 1209. Ответов 7
Метки нет (Все метки)

Решите пожалуйста задачу на с++

НЕ че не могу сделать, голову сломал, напишите плиз а то я у же в очередье на отчисления в универе

Тема: Обработка битовых последовательности

Требования: 1) Предусмотреть диалоговый ввод даных.
2) Предусмотреть проверку правильности водимых данных для чего построить процедуру вывода исходного числа в двоичном представлений
3) предусматривать форматированы вывод данных в удобном виде

Реализовать алгоритм восстановления значения целого отрицательного числа по его дополнительному двоичному коду. Значения восстанавливаемого числа водится с клавиатуры, результат на экран

Добавлено через 17 часов 23 минуты
Плиз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2010, 05:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка битовых последовательности (Срочно) (C++):

Таблица битовых переходов - C++
Доброго времени суток! Появилась необходимость замены битовых комбинаций по заранее сгенерированным правилам. Суть проблемы такова: имеется...

Разворот битовых образов - C++ Builder
Подскажите пожалуйста можно ли разворачивать битовые образы во время работы программы... то есть имеется изображение которое нужно...

Вывод битовых изображений - Visual C++
Как в Visual'е можно выводить в окне картинки без использования DDraw? Я знаю, что для этой цели есть функции...

Как отключить принудительное выравнивание битовых полей в структуре? - Visual C++
Подскажите пожалуйста как в Visual C++ 2008 правильно организовать выравнивание битовых полей в структурах? Пример кода: #pragma...

Зависимость битовых образов - C++ WinAPI
Рассчитанный на большее количество цветов, чем имеется, приложением не выведется? Или кем-то преобразуется? Отличается ли от образов для,...

Как получить стандартный набор битовых масок для MapGenericMask ? - C++ WinAPI
Здравствуйте! Данная функция, как я понял, принимает маску Generic Access, и возвращает набор стандартных и специфических прав. При...

7
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
03.01.2010, 10:25 #2
то есть пользователь вводит чило в доп. коде и надо перевести его в прямой код, так что ли?
1
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
03.01.2010, 12:22 #3
>Обработка битовых последовательности (Срочно)
Очень Срочно! Читай это: http://ru.wikipedia.org/wiki/Дополнительный_код_(представление_числа)
1
DDR0703
0 / 0 / 0
Регистрация: 02.01.2010
Сообщений: 5
03.01.2010, 14:12  [ТС] #4
если бы я понимал бы что там написано я элементарных операторов не знаю, и толком алгоритм на бумажке написать не могу а тут целые циклы О_о
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
03.01.2010, 14:14 #5
Цитата Сообщение от DDR0703 Посмотреть сообщение
алгоритм на бумажке написать не могу а тут целые циклы
значит я вижу такие выходы для тебя:
1) поменять специальность
2) пойти в армию
3) надеяться на бесплатную помощь
4) обратиться в платный раздел
1
DDR0703
0 / 0 / 0
Регистрация: 02.01.2010
Сообщений: 5
03.01.2010, 14:21  [ТС] #6
3)
0
<Norton>
Отдыхающий:)
94 / 91 / 10
Регистрация: 05.04.2009
Сообщений: 188
03.01.2010, 15:36 #7
Если ты хочешь благополучно закончить универ, то лучше начни учиться:
Вот код для преобразования двоичного числа в обратное(взято с Wiki):
C++
1
2
if (a < 0)
  a = (~a)|128;
Дальше думай сам...
1
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
03.01.2010, 15:44 #8
знаковый разряд не будем учитывать т.к. в задаче говорится что чило отрицательное заведомо.
вот: пример -7 это 111 в прямом коде без учета знакового разряда, -7 в дополнительном коде это 1001 тоже без учета знакового разряда. тест: вводим 1001 получаем 111, все рабоет.
алгорим такой:
Xдоп - число в дополнительном коде.
отнять единицу от Xдоп
нужно ивертировать каждый разряд числа (Xдоп - 1)
получим чило в прямом коде.
в данное программе счиатется что сило имеет столько разрядов скольо было введено
например 10 только два, и прямой код для этого числа будет 10, а если нужено больше разрядов то
00000010 - байт. для него прямой код 11111110.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
void subone(string &x,int i) //âû÷åñòü åäèГ*èöó. x - ÷èñëî, ïîðÿäîê(i)=ïîðÿäîê(ГІГҐГЄГ№ГЁГ© Г°Г*çðÿä)
{
     
     if (x[i]=='1')//ГІГҐГЄГіГ№ГЁГ© Г°Г*çðÿä Г°Г*ГўГҐГ* 1
        x[i]='0'; //âûäåëèòü ГЁ îáГ*óëèòü ГІГҐГЄГіГ№ГЁГ© Г°Г*çðÿä
     else
     {        //ГІГҐГЄГіГ№ГЁГ© Г°Г*çðÿä Г°Г*ГўГҐГ* 0...
         x[i]='1'; //...Г§Г*ìåГ*ГЁГІГј Г*Г* 1 ГЁ...
         if(i>0)subone(x,i-1);//...âû÷åñòü ГЁГ§ áîëèå Г±ГІГ*ðøåãî Г°Г*çðÿäГ*.
     }
}
 
void negative(string &x,int i) //ïîðГ*çðÿäГ*Г*Гї ГЁГ*âåðñèÿ Г·ГЁГ±Г«Г*.
{
     if (x[i]=='1')  //åñëè Г°Г*çðÿä 1 ГІГ®...
     {
        x[i]='0';   //...Г*Г*äî ГҐГЈГ® îáГ*óëèòü ГЁ...
     }
     else
     {            //åñëè Г°Г*çðÿä 0 ГІГ®...
         x[i]='1';//Г*Г*äî ГіГ±ГІГ*Г*îâèòü ГҐГЈГ® Гў 1 ГЁ...
     }
     if (i>0)negative(x,i-1); //...ïðåéòè ГЄ áîëèå Г±ГІГ*ðøåìó Г°Г*çðÿäó
}
 
int length(string str)
{
    int i=0;
    while (str[i]!='\0')i++;
    return i;
}
 
int main()
{
    cout << "enter edd codded number\n";
    string s;
    cin >> s;
    subone(s,length(s)-1);//вычесть единицу
    cout << "sub 1 = " << s << endl;
    negative(s,length(s)-1);//поразрядно инверсировать
    cout << "Prime coded num " << s << endl;
    getch();
}
1
03.01.2010, 15:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2010, 15:44
Привет! Вот еще темы с ответами:

Обработка Битовых последовательностей - C++
Здравствуйте, помогите пожалуйста решить задачку. Тема: Обработка битовых последовательностей. Нужно реализовать алгоритм инвертирования...

обработка массивов...*срочно* - C++
Составить программу, которая вычисляет сумму элементов неупорядоченного целочисленного массива М, состоящий из 12 чисел, не повторяются,...

2 последовательности (срочно) - C++
1)дана последовательность из 2n символов. Выяснить в какой половине в первой или во второй больше вопросительных знаков. (не исключается...

Обработка литерных величин. срочно - Pascal
22.1. Совпадают ли буквы в двух словах. 22.2. Вычеркните из двух слов совпадающие гласные буквы. 22.3. Вставьте между буквами в слове...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru