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

задача на битовые операции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, которая случайным образом выдаёт английские/русские слова http://www.cyberforum.ru/cpp-beginners/thread1022595.html
Написать программу, которая случайным образом выдаёт английские/русские слова из заранее созданного словаря(можно в файле), с целью написания пользователем перевода на русском/английском языке. Программа должна проверять правильность перевода и выдавать сообщение "Да"/"Нет" в случае правильности-неправильности ответа.
C++ Дано целое число n. Вычислить выражение 2*4*6*...*2n Дано целое число n. Вычислить выражение 2*4*6*...*2n. (задание выполнить с пред- и пост- условием) http://www.cyberforum.ru/cpp-beginners/thread1022593.html
IComparable C++
С++ только начал изучать Знаю, что в С# легко можно реализовать интерфейс IComparable для своего класса, чтобы потом не мучиться с сортировкой. Как в С++ сделать то же самое? На MSDN вроде бы интерфейс есть, но у меня почему-то не получается реализовать.. (Желательно небольшой примерчик) Заранее спасибо!
C++ С++ упаковка и распаковка файлов Zlib или любой другой способ
Здравствуйте, возникла такая проблема, немогу упаковать файл и распаковать, пытаюсь использовать Zlib, http://www.zlib.net/manual.html читал вот тут, но всё равно хоть и прочитал ничего не получается, Пытался сначало открыть файл как бинарный а потом записать с помощью gzwrite, но файл который был размером 7 метров(pdf) упаковался в архив 29 байт, не могу разобраться уже 3 дня, если можно...
C++ Что такое std::string() http://www.cyberforum.ru/cpp-beginners/thread1022578.html
И скал в гугле- там ничего понимаемого. Начну, что я вообще в символьных не шарю. Обьясните пожалуста, что это и что оно делает. Нашол String class Strings are objects that represent sequences of characters. The standard string class provides support for such objects with an interface similar to that of standard containers, but adding features specifically designed to operate with...
C++ Присвоить целую переменную k, что равняется третей от конца цифр в записе целого позитивного числа x Вот задание, кому не трудно помогите сделать код. Присвоить целую переменную k, что равняется третей от конца цифр в записе целого позитивного числа x. подробнее

Показать сообщение отдельно
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
29.11.2013, 09:22     задача на битовые операции
Функция left_shift делает это для 16-битовых чисел
Сдвиг любой, т.е. k не обязано быть меньше 16
Ввод с клавы и проч. ерунду - самостоятельно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
unsigned int left_shift(unsigned int n,unsigned int k) {
 unsigned int i,bit;
 for (i=0; i<k; i++) {
  bit=n&0x8000?1:0;
  n<<=1;
  n|=bit;
 }
 return n;
}
 
int main () {
 unsigned int n=0xF000,k=8;
 printf ("\nData: %u dec (%04X hex)",n,n);
 n=left_shift(n,k);
 printf ("\nResult: %u dec (%04X hex)",n,n);
 getchar();
 return 0;
}
Тест:
Data: 61440 dec (F000 hex)
Result: 240 dec (00F0 hex)
хы, кстати, я написал просто циклический сдвиг бит влево без учета нечетности
но я и не понял не фига из примера, какие биты нечетные
нумерация как обычно справа налево с нуля?
 
Текущее время: 06:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru