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

Побитовые операции, работа с шестнадцатеричной записью - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ допоможіть з динамічним масивом http://www.cyberforum.ru/cpp-beginners/thread265178.html
Дана матриця цілих чисел. Зібрати всі додатні елементи масиву вище головної діагоналі (заповнення здійснювати по рядках).
C++ Шаблонные функции для нахождения минимального и максимального элемента пары чисел Описать функции-шаблоны для нахождения минимального и максимального элемента пары чисел. Задано два целых и два действительные числа. Используя функции-шаблоны найти максимальные и минимальные элементы пар чисел и распечатать. Что я не так делаю? template< typename T > T min( T a, T b ) { return a < b ? a : b; http://www.cyberforum.ru/cpp-beginners/thread265166.html
Программа с файлами C++
Нужно в файле все последовательности символов одинаковых длинне N заменить на запись (N символ) например: ===== 5=, ppppppp 7p.
несовместимость visual c++ 6.0 и visual studio 2008 C++
почему правильно написанная программа в visual c++ 6.0 не работает в visual studio 2008 , а именно #include <iostream> using namespace std; void main() { cout<<" my first program "<<endl; }
C++ Строки (Код Цезаря) http://www.cyberforum.ru/cpp-beginners/thread265151.html
Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести этот текст, зашифрованный кодом Цезаря. (Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.) Размер сдвига символов принять равным остатку от деления длины слова на номер буквы...
C++ Подсчет слов и перевод строки Тут две задачки вот одна из них 1)Напишите программу, которая будет печатать слова из файла ввода, причем по одному на строку. я сделал так #include <stdio.h> main() { int c; подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.03.2011, 16:11     Побитовые операции, работа с шестнадцатеричной записью
Попробуйте как вариант задачи Вашей.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 // нa будущее приучайтесь битовые операции выполнять в положительных числах unsigned
 typedef unsigned int  uint;
 
 uint num = 0xF345FAEF;  // пример дано
 uint set  = 0x7;   // заменить на новую тетраду
 uint cur  = 0xF;  // найти эту тетраду
 
 uint cbit  = 0x0;
 uint cnt   = 0;
 for( ; num != 0x0; num >>= 4, cnt += 4) {  // это 4-ка тетрада по ней выбиваем
         if(! (num & 0xF ^ cur)) 
       cbit |= (0xF &  set) << cnt;
        else
       cbit |= (0xF &  num) << cnt;
 }
 // проверка на изменение
 printf("current = %X,  sets = %X\n", 0xF345FAEF, cbit);
Удачи !
 
Текущее время: 07:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru