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

работа с двоичным кодом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ дан вещественный массив http://www.cyberforum.ru/cpp-beginners/thread1030207.html
Дан вещественный массив vector <float> D5 занести в массив данные с помощью указателей, определить длину и количество положительных элементов, вывести на экран полученный массив и адреса элементов, а так же найденную сумму и количество. Еще помогите к этой задаче блок схему нарисовать, пожалуйста.
C++ "Перевести натуральное число из 8-ричной в 10-чную систему счисления" Добрый вечер) Друзья помогите пожалуйста составить программку) Условие задачи: Целое длинное число A задается в диалоговом режиме. "Перевести натуральное число из 8-ричной в 10-чную систему счисления" http://www.cyberforum.ru/cpp-beginners/thread1030194.html
C++ Считывание массива структур из файла
Массив структур выглядит так: struct spis { char fim; char fio; char nam; char otch; char num; char ul;
C++ Реализация алгоритма
Смотрите, есть функция для рисования сегмента круга: pieslice(int x, int y, int start, int end, int radius) - int start и int ende угол начала и конца. Не могу придумать как в первый раз старт был нулем, а последующие концом предыдущего . Конец ищу с помощью: end=a*koeficient. И это всё в цикле. Какие будут идеи?
C++ задачка http://www.cyberforum.ru/cpp-beginners/thread1030176.html
Помогите, пожалуйста, решить задачу. Дан двухмерный целочисленный массив А размером nхm. Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы.
C++ Для целого n и действительных x и y определить значение REZULT Для целого n и действительных x и y определить значение REZULT: sin^3(x/y)*(x+y^2)+Ф(n) при x>0, y-любое число cos^2(x+y)+sin(x^2+y^2)+n! при x<0, y-любое число R1 во всех остальных случаях Ф(n) - число Фибоначчи. n! - факториал n. подробнее

Показать сообщение отдельно
4AKE
29 / 29 / 12
Регистрация: 20.12.2010
Сообщений: 116
06.12.2013, 00:23     работа с двоичным кодом
Можно использовать побитовые операции над целыми числами для выделения разрядов, а можно использовать класс std::bitset, который поддерживает работу с логическими операциями и преобразование в строку/число. например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <bitset>
using namespace std;
 
int main() {
 
    int n = 98; // 01100010
    
    bitset<8> b8(n);
    cout << b8 <<endl;
    b8[0] = true; // 01100011
    cout << b8 <<endl;
    
    string bit_string = b8.to_string(); // 01100011
    cout << bit_string <<endl; 
    
    bitset<3> b3(bit_string,5,3); // младшие 3 разряда
    bitset<5> b5(bit_string,0,5); // старшие 5
    cout << b3 << " : " << b3.to_ulong() <<endl; // 011 : 3
    cout << b5 << " : " << b5.to_ulong() <<endl; // 01100 : 12
 
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru