Циклический сдвиг c: c++ — Реализовать циклический сдвиг вправо на K разрядов

Содержание

циклический сдвиг c — CodeRoad

Я должен сдвинуть int на одно место вправо и вернуть его

В Java я могу просто вернуть n >> 1;

Возможно ли это в C?

Метод, который нам был дан, заключается в следующем

// Return n after a right circular 1-bit shift
unsigned int right_circular_shift_1(unsigned int n) {

c

bit-shift

Поделиться

Источник


simion    

31 мая 2010 в 11:44

2 ответа


  • Не-циклический сдвиг в Matlab?

    Matlab имеет circshift , который сдвигает матрицу по кругу, то есть смещает смещенные элементы в противоположную сторону. Есть ли функция, которая сдвигает матрицу с копированием последних значений или заполнением нового пространства нулями? Как это делает побитовый сдвиг в C/C++? UPDATE Я знаю,…

  • Правильный арифметический (циклический) сдвиг в verilog

    Я новичок в verilog и застрял на одном любопытном моменте. Я пытаюсь сделать циклическое мигание светодиодов(зеленые огни слева направо и красные справа налево). У меня есть 12 светодиодов, и я синхронизирую свою программу с clock(CLK) . Я хотел использовать для этого арифметический сдвиг , но по…



10

C не имеет кругового сдвига, поэтому я предполагаю, что упражнение состоит в том, чтобы реализовать его. Способ сделать это для кругового сдвига влево заключается в следующем:

- get the current leftmost bit  and save it
- shift the number leftwards by one
- or the saved bit in at the rightmost bit position

Для правого кругового сдвига:

- get the current rightmost bit  and save it
- shift the number rightwards by one
- or the saved bit in at the leftmost bit position

Поделиться


Unknown    

31 мая 2010 в 11:47



5

Разве вы не пробовали?

n >> 1

Это будет работать в C (и других языках на основе C) так же, как и в Java (хотя и не циклически).

Поделиться


Johnsyweb    

31 мая 2010 в 11:47


Похожие вопросы:

круговой сдвиг в c

Я ищу алгоритм, который реализует круговой сдвиг влево от битового двоичного числа (на языке c). Алгоритм будет действовать так: > > правый слот будет заполнен не нулями, а числами, перемещенными…

Сдвиг вправо «> > » в C99

Возможный Дубликат : Странное поведение оператора правого сдвига Привет Почему оба числа из этой функции печатаются одинаково? Это не циклический сдвиг. unsigned int i=0x89878685; int main() {…

Напишите циклический файл в c++

Мне нужно написать циклический файл в c++. Программа должна записать строки в файл, и когда код достигает максимального количества строк, он должен перезаписать строки в начале файла. У кого-нибудь…

Не-циклический сдвиг в Matlab?

Matlab имеет circshift , который сдвигает матрицу по кругу, то есть смещает смещенные элементы в противоположную сторону. Есть ли функция, которая сдвигает матрицу с копированием последних значений…

Правильный арифметический (циклический) сдвиг в verilog

Я новичок в verilog и застрял на одном любопытном моменте. Я пытаюсь сделать циклическое мигание светодиодов(зеленые огни слева направо и красные справа налево). У меня есть 12 светодиодов, и я…

Циклический сдвиг ряда a pandas

Я использую метод сдвига для ряда данных в pandas (документация) . Возможно ли сделать циклический сдвиг, то есть первое значение становится последним значением, за один шаг? >>> input…

Правый Циклический Сдвиг C#

Как я могу сделать правильный круговой сдвиг в C#? Я использую эту функцию для выполнения кругового сдвига влево. Моя функция работает следующим образом: 1100 — > сдвиг на 1 => 1001 1100 — > сдвиг…

Циклический сдвиг 28 бит 4 байта в C

У меня есть unsigned char *Buffer , который содержит 4 байта, но только 28 из них имеют отношение ко мне. Я ищу, чтобы создать функцию, которая будет делать круговой сдвиг 28 бит, игнорируя…

найти циклический сдвиг данной строки

Я должен сделать циклический сдвиг струны. Например, если у меня есть строка hihi Я должен найти циклический сдвиг hihi is 0th shift of hihi ihih is 1st shift of hihi hihi is 2nd ihih is 3rd В этом…

Битный циклический сдвиг

В настоящее время я изучаю битовые операции, и мне поручено сделать поворот влево 4-битного целого числа. Мой код для 4-битного левого поворота таков private static int BITS_IN_INTEGER = 4; private…

Циклический сдвиг в одномерном массиве


Rating: 4.5/5. From 4 votes.