Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
|
||||||
1 | ||||||
Циклический сдвиг влево на один разряд: Есть ли здесь UB?13.05.2016, 09:56. Показов 543. Ответов 4
Метки нет (Все метки)
Сначала написал, потом задумался
циклический сдвиг влево на один разряд
0
|
13.05.2016, 09:56 | |
Ответы с готовыми решениями:
4
Циклический сдвиг влево на один разряд Выполнить циклический сдвиг двоичного числа влево на один разряд, используя Нормальные Алгоритмы Маркова Циклический сдвиг массива на один элемент влево Осуществите циклический сдвиг компонент заданного вектора A(N) влево на одну позицию, то есть получите вектор А = (a2 , a3 , ., aN , a1 ) |
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|
13.05.2016, 11:42 | 2 |
в случае с unsigned можно. UB здесь нет
1
|
13.05.2016, 13:40 | 3 |
У операций сдвига UB бывает в случаях, когда величина сдвига некорректная (меньше нуля или больше, чем размер типа) и в случае знакового типа у сдвигаемого аргумента. У тебя нет ни того, ни другого
1
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
|
|||||||||||
13.05.2016, 15:49 [ТС] | 4 | ||||||||||
да это то понятно
этот код должен компилироваться во что то типа
что то типа
0
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|||||||||||
13.05.2016, 15:54 | 5 | ||||||||||
не может(не должен). компиль не должен из корректного кода делать некорректный(с ub). ведь не придет же в голову, что
1
|
13.05.2016, 15:54 | |
13.05.2016, 15:54 | |
Помогаю со студенческими работами здесь
5
Осуществить циклический сдвиг компонент заданного вектора A(N) влево на одну позицию, то есть получить вектор A = ( a2 , a3 , . , aN, a1 ) Как это с Логический сдвиг влево,логический сдвиг вправо,алгоритм обмена двух переменных,циклический сдвиг Циклический сдвиг влево циклический сдвиг в влево на n Линейный сдвиг на один разряд Циклический сдвиг массива влево Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |