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

Обработка бита - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Низшие и старший разряды http://www.cyberforum.ru/cpp-beginners/thread108868.html
Название Размерность Тип A 5 вх B 5 вх C 1 вх S 5 вых P 1 вых На входе даны два 5-разрядных числа A и B и одно 1-разрядное C. Сложить эти три числа. Пять низших разрядов результата суммы записать в S, а старший - в P.
C++ Выделение последнего слова в строке в текстовом файле содержится инфа об абоненте: Ф.И.О. ,город , улица,номер телефона. определить по номеру телефона абонента. т.е нужно прогнать файл до номера после его нужно выделить и записать в переменную но как это сделать я не знаю. Вопрос: как выделить последнее слово или последний символ? http://www.cyberforum.ru/cpp-beginners/thread108861.html
C++ Дана последовательность из n целых чисел. Найти сумму элементов с нечетными номерами из этой последовательности!
Дана последовательность из n целых чисел. Найти сумму элементов с нечетными номерами из этой последовательности! Помогите!!
Коэффициенты системы линейных уравнений C++
Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С помощью допустимых преобразований привести систему к треугольному виду. Найти количество строк, среднее арифметическое элементов которых меньше заданной величины. Очень прошу, помогите понять задачу. Я не могу понять алгоритма решения этой задачи..((
C++ Вычислить сумму последовательности http://www.cyberforum.ru/cpp-beginners/thread108843.html
S= sinX + sinX2(квадрат) + SinX3(куб) + sinX4(в четвертой степени) + … + sinXn(н-ая степень)
C++ Найти сумму цифр в десятичном числе k Найти сумму цифр в десятичном числе k подробнее

Показать сообщение отдельно
Зоти Сергей
 Аватар для Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
25.03.2010, 22:41     Обработка бита
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
#include <conio.h>
#include <iostream.h>
int main()
{
    int BcdValue;
        int i,j;
        int BcdArray[4];
    cout << "Vvedite BCD chislo (0 - 9999) : ";
        cin>>BcdValue;
        int ValueForChanging;
        int ByteIndex;
        cout<<"Vvedite chislo dlija zameny (0 - 9) :";
        cin>>ValueForChanging;
        cout<<"Vvedite index tetrady dlja zameny (0 - 3) :";
        cin>>ByteIndex;
        BcdArray[0]=BcdValue/1000;
        BcdArray[1]=(BcdValue-BcdArray[0]*1000)/100;
        BcdArray[2]=(BcdValue-BcdArray[0]*1000-BcdArray[1]*100)/10;
        BcdArray[3]=(BcdValue-BcdArray[0]*1000-BcdArray[1]*100-BcdArray[2]*10);
        cout<<"BCD chislo "<<BcdValue<<" v dvoichnom vide:\n";
        for(int i=0;i<4;i++)
        {
            for(j=3;j>=0;j--)
            {
                cout<<((BcdArray[i]>>j)&0x01);
            }
                cout<<" ";
        }
        BcdArray[ByteIndex]=ValueForChanging;
        cout<<"\nBCD Chislo na vihode v dvoichnom vide: \n";
        for(i=0;i<4;i++)
        {
            for(j=3;j>=0;j--)
            {
                cout<<((BcdArray[i]>>j)&0x01);
            }
                cout<<" ";
        }
        cout<<"\nBCD Chislo na vihode v desjatichnom vide: \n";
        for(i=0;i<4;i++)
            cout<<BcdArray[i];
        getch();
    return 0;
}
Единственное, что я не совсем понял:
У вас на входе 16-бит. Это 4 тетрады. Каждая для описания одного десятичного числа от 0 до 9
Какую-то тетраду надо заменить на число М(4 бита или 1 тетрада).
Но в качестве позиции Р вы на входе хотите вводить число до 2. Но ведь у Вас 4 тетрады! По этому, если Р будет меньше 4-ех, то вы сможете изменить лишь 2 тетрады - 8 бит. А у вас их 16
По этому, я сделал так, что Р имеет диапазон 0-3.
 
Текущее время: 11:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru