-27 / 0 / 1
Регистрация: 28.01.2014
Сообщений: 145
|
|
1 | |
Что это за знак >> прочитал что это сдвиг вправо? что он делает28.01.2014, 23:17. Показов 3980. Ответов 7
Метки нет (Все метки)
0
|
28.01.2014, 23:17 | |
Ответы с готовыми решениями:
7
Я не могу понять что делает данная программа. Точнее что делают функции используемые в это коде Что это такое и что оно делает? Что это за зверь такой? и зачем он это делает? Что это за метод?И что он делает? |
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
28.01.2014, 23:33 | 2 |
Сообщение было отмечено PriZrаK как решение
Решение
Как не удивительно, сдвигает битовое представление числа вправо на 'c' позиций в вашем случае.
у вас это скомпилировалось ?
0
|
28.01.2014, 23:36 | 3 |
Сообщение было отмечено PriZrаK как решение
Решение
По умолчанию это >> сдвиг вправо, а << сдвиг влево. Все данные в памяти хранятся по битам, которые принимают значения либо 0, либо 1. В частности число 6 хранится как "0110". Если Вы сдвигаете его на один разряд вправо, то получаете "0011"=3. А если сдвинуть на 5 разрядов, то будет "0000"=0. Что бы было проще представить, что происходит с точки зрения десятичной арифметики, просто запомните, что операция сдвига на один разряд вправо равносильна делению на два, а влево, соответственно, умножению на два. Вы делите число 6 пять раз на два и, естественно, получаете 0, так как int - целое число. Так как операция сдвига происходит на много быстрее умножения, то она может быть полезна там, где нужно очень много делить или умножать, но только на два в какой-то степени.
Но оператор может быть переопределён для конкретного класса. Например cout - поток вывода в консоль, для которого << переопределён как запись в консоль.
1
|
-27 / 0 / 1
Регистрация: 28.01.2014
Сообщений: 145
|
|
28.01.2014, 23:37 [ТС] | 4 |
0
|
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
|
|
29.01.2014, 10:54 | 5 |
Не по теме: а что могло не скомпилироваться?) Добавлено через 1 минуту Не по теме: как запись в поток сout
0
|
29.01.2014, 12:27 | 8 | |||||
точнее так f1=(d-1>c*2)? d/(2*c):0;
Добавлено через 2 минуты Не уверен посмотри результат:
Прости ты прав)
0
|
29.01.2014, 12:27 | |
29.01.2014, 12:27 | |
Помогаю со студенческими работами здесь
8
Объясните что именно делает "x%d, y%d: " или что это в даном коде Что делает это выражение? Что делает это код? Что это функцыя делает??? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |