1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
1

Создать класс BitString для работы с битовыми строками не более чем из 100 бит

22.10.2020, 15:26. Показов 3365. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс BitString для работы с битовыми строками не более чем из 100 бит. Битовая строка должна быть представлена массивом типа unsignedchar, каждый элемент которого принимает значение 0 или 1. Реальный размер массива задается как аргумент конструктора инициализации. Реализовать методы вывода на экран, метод заполнения массива случайными данными 0 или 1. Реализовать все традиционные операции для работы с битовыми строками: and, or, xor, not. Реализовать сдвиг (логический) влево и сдвиг вправо на заданное количество битов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2020, 15:26
Ответы с готовыми решениями:

Создать класс BitString для работы с битовыми строками
Вопрос: если даны строки разной длины, то каким образом выполняются побитовые операции? До старшего...

Класс BitString для работы с 64-битовыми строками
Создать класс BitString для работы с 64-битовыми строками. Битовая строка должна быть представлена...

класс для работы с битовыми строками
создать класс BitString для работы с 64-битными строкамиюБитовая строка должна быть представлена...

Создать класс LongLong для работы с целыми числами из 64 бит - C++
Добрый вечер,вот задание: Создать класс LongLong для работы с целыми числами из 64 бит. Число...

5
2523 / 1243 / 459
Регистрация: 08.11.2016
Сообщений: 3,412
23.10.2020, 12:38 2
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
template<size_t sz>
class BitString
{
    unsigned char *data;
    size_t mSize;
public:
    BitString(void) : mSize(sz) { data = new unsigned char[mSize + 1]; data[mSize] = '\0'; }
    BitString(const BitString &other) : BitString()
    {
        for (size_t i = 0; i < mSize; ++i)
            data[i] = other.data[i];
    }
 
    BitString & operator=(const BitString &other)
    {
        if (this == &other)
            return *this;
 
        for (size_t i = 0; i < mSize; ++i)
            data[i] = other.data[i];
        return *this;
    }
 
    ~BitString(void) { delete[] data; }
 
    size_t size(void) const { return mSize; }
 
    void fillRandomize(void) 
    { 
        for (size_t i = 0; i < mSize; ++i)
            data[i] = '0' + rand() % 2;
    }
    
    friend BitString operator&(const BitString &bs1, const BitString &bs2)
    {
        BitString ret;
        for (size_t i = 0; i < bs1.size(); ++i)
            ret.data[i] = '0' + ((bs1.data[i] - '0') && (bs2.data[i] - '0'));
            
        return ret;
    }
 
 
    friend std::istream & operator>>(std::istream &in, BitString &bs)
    {
        in.peek();
        std::streamsize sBufSz = in.rdbuf()->in_avail();
 
        for (size_t i = 0; i < bs.size(); ++i)
        {
            if (i < sBufSz)
                in >> bs.data[i];
            else
                bs.data[i] = '0';
        }
 
        in.ignore();
        return in;
    }
 
    friend std::ostream & operator<<(std::ostream &out, const BitString &bs)
    {
        out << bs.data;
        return out;
    }
};
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
02.11.2020, 16:10  [ТС] 3
Annemesski, добавил для работы:
C++
1
2
#include<iostream>
using namespace std;
Но программа выдает ошибки
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
02.11.2020, 16:11  [ТС] 4
Annemesski, ошибки
Миниатюры
Создать класс BitString для работы с битовыми строками не более чем из 100 бит  
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
02.11.2020, 16:12  [ТС] 5
Annemesski, как работает это меню,что надо сделать,чтобы оно заработало?
Миниатюры
Создать класс BitString для работы с битовыми строками не более чем из 100 бит  
0
2523 / 1243 / 459
Регистрация: 08.11.2016
Сообщений: 3,412
02.11.2020, 16:20 6
K1MeR, using namespase - уберите. Дополните класс методами реализующими функции: or, xor и not по аналогии с оператором "&" (or - "operator|"; xor - "operator^" not - "operator~") и напишите функцию int main() демонстрирующие работу с Вашим классом.
1
02.11.2020, 16:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2020, 16:20
Помогаю со студенческими работами здесь

Создать класс LongLong для работы с целыми числами из 64 бит
Создать класс LongLong для работы с целыми числами из 64 бит. Число должно быть представлено двумя...

Создать класс для работы с строками
Всем привет, начал изучать яву и у меня возникли трудности вот с этим заданием Создать класс для...

Создать класс для работы с строками
Создать класс для работы сo строками. Разработать следующие элементы класса: a. Поля:...

Создать класс для работы сo строками
Создать класс для работы сo строками. Разработать следующие элементы класса: a. Поля:...

Создать класс для работы сo строками
Создать класс для работы сo строками. Разработать элементы класса: a. Поля: * указатель на char...

Создать класс для работы со строками
class Program { static void Main(string args) { string S =...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru