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

Двоичная обработка данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Регулировка скорости http://www.cyberforum.ru/cpp-beginners/thread1490709.html
Надо составить прогу, которая позволяет текст, содержащийся в файле, воспроизвести сигналами азбуки Морзе. При этом текст должен посимвольно выводиться на экран. Предусмотреть возможность плавной регулировки скорости воспроизведения. Справился, наконец-то, не без помощи, с выводом из файла на экран, все отлично работает. Но вот скорость регулировки как сделать не знаю. Нужна ваша помощь,...
C++ Найти разницу между минимальным и максимальным из набора чисел Дано 20 вещественных чисел. Найти разницу между минимальным и максимальным из них. http://www.cyberforum.ru/cpp-beginners/thread1490704.html
Выводятся на печать смайлики вместо элементов строки C++
#include <stdio.h> #define MAXLINE 1000 int getline(char line, int maxline); void copy(char to, char from); /* печать самой длинной строки */ main() {
C++ Игра "Однорукий бандит". Кольцевая очередь. Двусвязный список
Здраствуйте. Задание: "Создать игру "Однорукий бандит". При нажатии кнопки Enter происходит "вращение" трех барабанов (количество вращений каждого из них выбирается случайно), на которых изображены разые значки, и, если выпадает определенная комбинация, то игрок получает какой-то выигрыш." Проблемы: - Пытался сделать именно значки, а не цифры. Не прокатило. - Иногда ошибка компиляции...
C++ _kbhit() как удалить символ, когда нажимаем клавишу? http://www.cyberforum.ru/cpp-beginners/thread1490668.html
#include <iostream> #include <conio.h> using namespace std; void main() { char point = '*'; do { if (_kbhit()) {
C++ Сформировать массив по заданной формуле и упорядочить по значению сренеарифметического Рассчитать значения 12-ти элементов массива Y по формуле {y}_{i}={i}^{2}-2i+19,3cosi. Вывести на экран этот массив и новый, разместив в нем первоначально элементы, значения которых меньше среднего арифметического, а потом остальные, не меняя их последовательности. подробнее

Показать сообщение отдельно
TonyHopkiens
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 4
30.06.2015, 19:53     Двоичная обработка данных
Есть такая программа по двоичной обработке массива. Я не совсем понимаю, как здесь менять биты местами, к примеру наложением маски (0х00х0хххххххххх) поменять местами 1 и 3 бит с 4 и 6 битами соответственно. Можно даже на примере одного числа, не массива.

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
52
53
54
55
56
# include <stdio.h> 
# include <string.h> 
# include <stdlib.h>
void tobit(int);
  char s[17]={"0000000000000000"};   int b,a1;
main ()
{
 int a[5]={1528,5184,10822,3555,1234},*sum=NULL;   unsigned char j;
  sum=(int*) malloc (2);//выделяем два байта памяти
  if (!sum)
    {printf("no memory");
     exit(0);
    }
  printf("исходный массив \n");
    for (j=0;j<5;j++)
     { printf("%u   ",a[j]);
      *sum=*sum+a[j]; } 
printf("сумма %d\n",*sum);
sum=NULL;
printf("обработка \n");
  for (j=0;j<5;j++)   { a1=a[j];  tobit(a[j]);
  
a1=a[j]&19455;
  b=a[j]>>15;
  b=b<<12;
  
a1=a1|b;
  b=a[j]>>12;
  b=b<<15;
  
a1=a1|b;
  b=a[j]&8192;
  b=b>>3;
  
a1=a1|b;
  b=a[j]&1024;
  b=b<<3;
  
a1=a1|b;
  *sum=*sum+a1;
  tobit(a1);
  } printf("новая сумма %d\n",*sum);
  scanf("d");
  *sum=NULL;
}
void tobit(int a)
{ char i;
  printf("%d  ",a);
  for (i=0;i<16;i++)
   { b=a1&32768;
     if (!b) s[i]='0';
      else s[i]='1';
     a1=a1<<1;
   }
  puts(s);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru