0 / 0 / 2
Регистрация: 18.11.2012
Сообщений: 29
1

Изменение бит в массиве беззнаковых целых чисел

02.01.2015, 12:14. Показов 1013. Ответов 8
Метки нет (Все метки)

В массиве без знаковых целых 32- разрядных чисел поменять зеркально биты у тех чисел, старший байт которых можно интерпретировать как отрицательное число
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2015, 12:14
Ответы с готовыми решениями:

Класс "Массив беззнаковых целых чисел"
Нужно создать класс содержащий динамический массив беззнаковых целых чисел.

Класс целых чисел разрядностью 80 бит
Программа: #include <iostream> using namespace std; class MyInt { int i;

Написать шаблоны функций для для вычисления суммы произведений двух соседних чисел для трех целых чисел и в одномерном массиве целых чисел
Написать шаблоны функций для для вычисления суммы произведений двух соседних чисел для трех целых...

Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из них встречается в массиве.
Написать программу для решения следующей задачи. Дан массив целых чисел. Определить все уникальные...

8
Модератор
Эксперт С++
12129 / 9793 / 5917
Регистрация: 18.12.2011
Сообщений: 26,272
02.01.2015, 14:18 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <windows.h>
int main()
{
  const int N=3;
  UINT32 x[N];
  for(int i=0;i<N;i++)
  {
     std::cout<<i<<"?:";
     std::cin>>x[i];
  }
  for(int i=0;i<N;i++)
  {
    if(x[i] & 0x80000000)
        x[i]^=0xffffffff;
    std::cout<<x[i]<<"\n";
  }
  system("PAUSE");
  return 0;
}
1
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
02.01.2015, 14:52 3
zss, а как же совпадающие биты? Они окажутся инвертированы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
unsigned int a[10], b1, b2;
 
for (int i = 0; i < 10; ++i)
{
    if (a[i] & 0x80000000 != 0)
        for (int j = 0; j < 16; ++j)
        {
            b1 = a[i] & (1 << j);
            b2 = a[i] & (1 << (31 - j));
            if ((b1 && !b2) || (!b1 && b2))
            {
                a[i] ^= 1 << j;
                a[i] ^= 1 << (31 - j);
            }
        }
}
1
0 / 0 / 2
Регистрация: 18.11.2012
Сообщений: 29
03.01.2015, 23:11  [ТС] 4
Земной поклон вам добрые люди ловите плюсики

Добавлено через 1 минуту
Только вопрос у меня наверняка наитупейший а второй кусок кода куда пихать? Простите я полный ноль в сишнике
0
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
05.01.2015, 10:34 5
Это две разных реализации одного и того же. Только я не добавил main() и подключение библиотек.
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
05.01.2015, 10:59 6
Цитата Сообщение от anvillock Посмотреть сообщение
старший байт которых можно интерпретировать как отрицательное число
Тогда и всё число можно как отрицательное интерпретировать. А под зеркальной заменой, скорее всего, имеется ввиду перемещение бит в числе относительно середины, а не инвертирование.
0
Заблокирован
05.01.2015, 12:36 7
C++
1
2
  unsigned array[10]; //random values
    for (unsigned &elem : array) if ((int) elem < 0)elem ^= UINT32_MAX;
0
0 / 0 / 2
Регистрация: 18.11.2012
Сообщений: 29
06.01.2015, 11:41  [ТС] 8
Xelort, я так понимаю это создание массива и его эээ...сортировка....обработка?????
0
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
06.01.2015, 14:31 9
Это у него XOR единицами, т. е. инверсия элементов массива, которые отрицательны.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2015, 14:31
Помогаю со студенческими работами здесь

Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в массиве
1. Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное...

Вычитание беззнаковых чисел
При выполнении вот этого кода ,у меня вывод 4294967292 ,не могу понять почему ,помогите пожалуйста...

В массиве целых чисел найти и распечатать все пары одинаковых чисел
В массиве целых чисел найти и распечатать все пары одинаковых чисел. За помощь буду очень...

В массиве целых чисел найти количество чисел с наименьшим количеством цифр
9. В массиве целых чисел найти количество чисел с наименьшим количеством цифр. Например, в массиве...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru