0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 23
|
||||||
1 | ||||||
.NET 4.x Операторы сдвига24.03.2017, 14:36. Показов 1249. Ответов 12
Метки нет (Все метки)
Возник вопрос, в javascript есть такой оператор как
Как сделать тоже самое с C#?
0
|
24.03.2017, 14:36 | |
Ответы с готовыми решениями:
12
Операторы сдвига узла вперед и назад Определить арифметические операторы и операторы сравнения (если возможно) Операторы отношения и логические операторы Перегрузка оператора сдвига |
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
24.03.2017, 14:45 | 2 |
0
|
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 23
|
|
24.03.2017, 14:50 [ТС] | 3 |
aquaMakc, не канает с отрицательными числами...
Добавлено через 1 минуту aquaMakc, вот в чем трабл
0
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
24.03.2017, 14:52 | 4 |
Coool, логично же, знаковые числа в старшем бите содержат знак (именно по этому максимальное значение беззнакового числа в 2 раза больше, чем знакового). Вы сдвигаете на 2 разряда вправо, соответственно сдвигается и бит знака, который воспринимается уже, как бит значения, а бит знака становится нулём.
0
|
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 23
|
|
24.03.2017, 14:53 [ТС] | 6 |
OwenGlendower, можно пример пожалуйста для танкиста
0
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
24.03.2017, 14:57 | 7 |
Coool, прошу прощения, ввёл в заблуждение, в шарпе получается -3.
0
|
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 23
|
|
24.03.2017, 15:01 [ТС] | 9 |
OwenGlendower, значит я не тупой, результаты разные в сравнении с JS
-43>>>2 = 1073741813 (-43 >> 2) & 0x7FFFFFFF = 2147483637
0
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
24.03.2017, 15:25 | 11 |
OwenGlendower, В JS на число выделяется 64 бита, наш int - 32. Возможно автору придётся перейти на long.
0
|
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 23
|
|
25.03.2017, 05:15 [ТС] | 12 |
OwenGlendower, о, вот это уже работает, спасибки
Добавлено через 13 часов 47 минут OwenGlendower, тут опять проблемка, если первое число отрицательное то выдает не правильный результат -1 >>> 8 ^ -925412992 ==-936857985 ((-1 >> 8) & ~(int.MinValue >> 2 - 1)) ^ -925412992==-148328833
0
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
|
25.03.2017, 05:34 | 13 |
1
|
25.03.2017, 05:34 | |
25.03.2017, 05:34 | |
Помогаю со студенческими работами здесь
13
удаления без сдвига Организация сдвига элементов в матрице Подпрограмма циклического сдвига направо Перегрузка оператора побитового сдвига << Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |