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

Сдвиг 128-битного числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ списки типов http://www.cyberforum.ru/cpp/thread65686.html
Пожалуйста помогите составить пример списков типов состоящий из трех эллементов!!!!! И если не сложно провоментируйте сам пример.
C++ Почему цикл не заканчивается??? Всем добрый день! У меня здесь вопрос по циклу while. Вот программа по подсчёту букв и сочетаний в тексте: #include <iostream> #include <string> #include <ctype.h> void main() { using namespace std; string str; int aCnt=0, eCnt=0, iCnt=0, oCnt=0, uCnt=0, consonantCnt=0, ffCnt=0, flCnt=0, fiCnt=0; http://www.cyberforum.ru/cpp/thread65638.html
Как посчитать сложный факториал? C++
Вопрос конечно до безобразия скучный и неинтересный, хотя кто знает....Но, как мне посчитать вот эту сумму??? Проблема в том, что я не могу посчитать то что под знаком суммы, т.е вывести закономерность: на что нужно умножить прошлое число, чтобы получить следующее....чтобы потом его в цикл записать, типа в начале объявляем p=1, а потом в цикле p=p*(что-то). Если кто разбереться, то напишите,...
C++ Переписать элементы матрицы по убыванию
Для заданной матрицы переписать ее элементы в векторном виде по убыванию
C++ Переопределить поток вывода cout http://www.cyberforum.ru/cpp/thread65288.html
Есть некоторый кусок кода выводящий на консоль информацию с помощью cout, все бы хорошо, но при некоторых условиях, бывает нужно выводить эту инфу в файл. Хотелось бы без дублирования кода, провести эту операцию, то есть вывести в файл, с помощью cout. Реально ли это? Файл использую - ofstream fout("output.txt"); В Delphi это делалось просто - rewrite(output, "output.txt") А в С++, что-то...
C++ Visual Studio 2010 Кто нибудь пробовал??? Хочу узнать отзывы... подробнее

Показать сообщение отдельно
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
20.11.2009, 23:30     Сдвиг 128-битного числа
Вот что я смог набросать для строковых переменных:
код
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
#include <iostream.h>
#include <conio.h>
 
using namespace std;
 
enum TShiftState {Left=0,Right};
void StringShift (char *S, int StringSize, TShiftState SState, int bits)
{
 int Curr1=0,Curr2=0 ,k;
 
 if (SState)
 {
  for (int j = 0; j < bits; j++)
    for (int i = 0; i < StringSize-1; i++)
    {
      int k = (int)S[i];
      (k & 1) == 1 ? Curr1 = 0x80 : Curr1 = 0;
      k>>=1;
      k+=Curr2;
      S[i]=k;
      Curr2=Curr1;
    }
 }
 else
 {
  for (int j = 0; j < bits; j++)
    for (int i = StringSize-2; i >=0; i--)
    {
      int k = (int)S[i];
      (k & 0x80) == 0x80 ? Curr1 = 1 : Curr1 = 0;
      k<<=1;
      k+=Curr2;
      S[i]=k;
      Curr2=Curr1;
    }
 }
}
 
int main()
{
    char S[] = "012456789abcdef";       //строка любых значений
    cout<<S<<endl;
    StringShift(S,sizeof(S),Left,25);
    cout<<S;
 
    getch();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru