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

Поместить четыре числа от 1 до 4 в один байт - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчет и вывод гласных букв кирилицы http://www.cyberforum.ru/cpp-beginners/thread1303770.html
# include <iostream> # include <conio.h> # include <string.h> # include <stdio.h> using namespace std; int main () {
C++ Библиотека <complex> Необходимо написать код, который будет объявлять двумерный массив комплексных чисел размером 62 строки на 1024 столбца, выделить под него место в динамической памяти, и заполнить вещественную и мнимую части элементов случайными числами. Пытаюсь использовать библиотеку complex, но получаются следующие ошибки: complex не является членом std; неизвестные идентификаторы complex и signal. К записи... http://www.cyberforum.ru/cpp-beginners/thread1303764.html
Перевод формулы на язык C++ C++
Здравствуйте! Прошу помочь мне с переводом формулы на язык c++ . Сам пробовал, но постояно выходят ошибки. С виду программа несложная, но одолеть ее не получается :(
C++ Ошибка C2784. Шаблонный список
имеется шаблонный список #include "stdafx.h" #include <iostream> using namespace std; template <typename TYPE> class list { private:
C++ Сделать меню добавления записи, записать это в файл и показать списки http://www.cyberforum.ru/cpp-beginners/thread1303740.html
Сделать меню добавления записи,запись в файл и считывание его #include "stdafx.h" #include <iostream> using namespace std; const int n = 8; struct TRAIN { char punkt ;
C++ Векторы и матрицы Массив X(n) разбит на m фрагментов. У целочисленном массиве K(m) сохраняются длины соответствующих фрагментов (все ki разные, их сума равна n). Упорядочить массив K за возрастанием, переставив соответствующие фрагменты в массиве X. подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1788 / 1163 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
18.11.2014, 11:53     Поместить четыре числа от 1 до 4 в один байт
Можно и в один байт запаковать, но только распаковка не очень красивая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
int main(int argc, char* argv[]) {
    int a = 4;
    int b = 2;
    int c = 3;
    int d = 1;
    char bitfield = (a & 0x03) + ((b << 2) & 0x0C) + ((c << 4) & 0x30) + ((d << 6) & 0xC0);
 
    std::cout << "a = " <<  ((bitfield & 0x03)?(bitfield & 0x03): 0x04)  << std::endl;
    std::cout << "b = " <<  (((bitfield & 0x0C) >> 2)?((bitfield & 0x0C) >> 2): 0x04) << std::endl;
    std::cout << "c = " <<  (((bitfield & 0x30) >> 4)?((bitfield & 0x30) >> 4): 0x04) << std::endl;
    std::cout << "d = " <<  (((bitfield & 0xC0) >> 6)?((bitfield & 0xC0) >> 6): 0x04) << std::endl;
 
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru