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

Реализовать функцию, которая осуществляет циклический побитовый сдвиг вправо на n позиций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разложение Шеннона по таблице истинности http://www.cyberforum.ru/cpp-beginners/thread877494.html
Большая просьба, как на С++ можно реализовать Разложение Шеннона для ДНФ по всем переменным? Помогите, плиз.
C++ strcmp slovo={'d','d','d'}; char *slovo2=new char; for(int i=0;i<k;i++) { cin>>slovo2; } int s=strcmp(slovo2,slovo); и ввожу d,d,d; почему в переменной s не 0??? в документации написано что она 0 должна возвр. при равных массивах. помогите! http://www.cyberforum.ru/cpp-beginners/thread877493.html
C++ Компиляция dll библиотеки
Как правильно скомпилировать dll библиотеку, чтобы имена методов не изменялись? Например, у меня есть метод с именем Java_Test_test, а после компиляции в библиотеке его имя уже меняется на Java_Test_test@8 компилирую командой g++ -x c++ -shared -I "C:\Program Files\Java\jdk1.7.0_02\include" -I "C:\Program Files\Java\jdk1.7.0_02\include\win32" -o Test.dll Test.cpp Заголовочный файл /* DO NOT...
C++ Палиндром
разработать программу которая определяет является ли данный текст палиндромом в среде C++
C++ Разобрать код с++ http://www.cyberforum.ru/cpp-beginners/thread877487.html
Всем доброго времени суток. Дело такое нужно разобрать код явных ошибок нету но при компиляции вижуалка вылетает с ошибкой вроде в хидере не выделяется память под элемент values но точно отследить ошибку не могу прошу вас о помощи всем кто откликнется огромное спасибо. Вот код спипишника #include "stdafx.h" #include <stdlib.h> #include <iostream> #include <math.h> #include <time.h> #include...
C++ too few arguments to function. почему так происходит? всем привет, помогите разобраться с ошибкой #include <stdio.h> #include <stdlib.h> #include <iostream> #include <iomanip.h> #include <math.h> #include <conio.h> подробнее

Показать сообщение отдельно
gazlan
2862 / 1810 / 272
Регистрация: 27.08.2010
Сообщений: 4,897
Записей в блоге: 1
24.05.2013, 22:40     Реализовать функцию, которая осуществляет циклический побитовый сдвиг вправо на n позиций
Не совсем C, но похоже :-) Поменяете "лево" на "право".

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
static ROL(x,c)      // Avoid IDA BUG with Right Shift
{
   auto  x1;
   auto  x2;
   auto  x3;
   auto  x4;
   auto  z;
 
   c = c % 32;    // Just in Case :-)
 
   if (c < 24)
   {
      x1 = (x & 0x000000FF) << c;
      x2 = (((x & 0x0000FF00) >> 8)  & 0xFF) << c;
      x3 = (((x & 0x00FF0000) >> 16) & 0xFF) << c;
      x4 = (((x & 0xFF000000) >> 24) & 0xFF) << c;
 
      z = x1;
      z = z | (x2 << 8)  | ((x2 >> 24) & 0xFF);
      z = z | (x3 << 16) | ((x3 >> 16) & 0xFFFF);
      z = z | (x4 << 24) | ((x4 >> 8)  & 0xFFFFFF);
 
      return z;
   }
   else
   {
      x1 = (x & 0x000000FF) << 24;
      x2 = (((x & 0x0000FF00) >> 8)  & 0xFF) << 24;
      x3 = (((x & 0x00FF0000) >> 16) & 0xFF) << 24;
      x4 = (((x & 0xFF000000) >> 24) & 0xFF) << 24;
 
      z = x1;
      z = z | (x2 << 8)  | ((x2 >> 24) & 0xFF);
      z = z | (x3 << 16) | ((x3 >> 16) & 0xFFFF);
      z = z | (x4 << 24) | ((x4 >> 8)  & 0xFFFFFF);
 
      x = z;
 
      x1 = (x & 0x000000FF) << (c - 24);
      x2 = (((x & 0x0000FF00) >> 8)  & 0xFF) << (c - 24);
      x3 = (((x & 0x00FF0000) >> 16) & 0xFF) << (c - 24);
      x4 = (((x & 0xFF000000) >> 24) & 0xFF) << (c - 24);
 
      z = x1;
      z = z | (x2 << 8)  | ((x2 >> 24) & 0xFF);
      z = z | (x3 << 16) | ((x3 >> 16) & 0xFFFF);
      z = z | (x4 << 24) | ((x4 >> 8)  & 0xFFFFFF);
 
      return z;
   }
}
 
Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru