Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346

Побитовый сдвиг. Как получается ответ?

17.09.2015, 06:34. Показов 1716. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавлено через 3 минуты
Извиняюсь за, возможно, тупой вопрос "Для начинающих", но вот читаю учебник и вижу:

"Например, значение выражения 1<<35 эквивалентно выражению 1<<3, или 8."

Пытаюсь представить: если в восьмеричной системе, то 1-1-1-1=7, 1+1+1+1=4
Если в десятеричной, то 1-1-1-1=9, 1+1+1+1=4

ОТКУДА БЕРЕТСЯ ОТВЕТ "8"?

И почему вообще 1<<35 эквивалентно выражению 1<<3 ?

Добавлено через 6 минут
И еще, в школе нам рассказывали про число Пи. А вот число Е я что-то не могу припомнить.

"В данном классе также определены две константы — приближенное представление
чисел π и e.
Math.PI
Math.E
"
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2015, 06:34
Ответы с готовыми решениями:

Побитовый сдвиг
Здравствуйте! Столкнулся с операторами &gt;&gt; &lt;&lt; &gt;&gt;&gt;, конкретно мне нужно понять как вычисляются выражения типа 7&gt;&gt;2 (-7)&gt;&gt;2 ...

Побитовый сдвиг
К примеру: int x = 15250; int shift = x &gt;&gt; 4; int reverse = shift &lt;&lt; 4; Тут остаток отбрасывается, из-за этого на выходе...

Побитовый сдвиг -1>>>n
Здравствуйте, по учебникам и лекциям все гладко написано. Уже зазубрил, с какой стороны ноль или с какой - единица. Но вот задача: ...

11
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
17.09.2015, 10:06
Лучший ответ Сообщение было отмечено KiraLis39 как решение

Решение

Цитата Сообщение от KiraLis39 Посмотреть сообщение
И почему вообще 1<<35 эквивалентно выражению 1<<3 ?
операция << это побитовый сдвиг вправо. То есть вы берете число 1 и единицу сдвигаете вправо на 3 бита. Получаете 8. Если у вас для хранения числа используется 32 бита, то сдвинув единицу на 35 битов вправо вы посути двигаете её на 32, а потом возвращаетесь в начало и двигаете ещё на три. Результат тоже 8. Однако если у вас 64 битное представление, результат будет 34359738368

E - это постоянная Эйлера
https://ru.wikipedia.org/wiki/... 0%BD%D0%B8
1
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
17.09.2015, 10:14
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
операция << это побитовый сдвиг вправо
влево
1
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
17.09.2015, 10:43  [ТС]
блин, я думал, что здесь 1 - имеется ввиду именно 1 бит. А вроде же int занимают 4 бита? а не 32...

Добавлено через 40 секунд
Надо еще почитать об этих... как они там..
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
17.09.2015, 11:38
ты путаешь двоичную систему с восьмеричной и биты с байтами
с этого надо начинать
0
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
17.09.2015, 12:02  [ТС]
Двоичная - от 0 до 9, восьмеричная - от 0 до 7, в 1 байте 8 бит, эт я помню. Только не понял о чем речь -_- видимо..
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
17.09.2015, 12:48
я об этом
Цитата Сообщение от KiraLis39 Посмотреть сообщение
если в восьмеричной системе, то 1-1-1-1=7, 1+1+1+1=4
Если в десятеричной, то 1-1-1-1=9, 1+1+1+1=4
Цитата Сообщение от KiraLis39 Посмотреть сообщение
А вроде же int занимают 4 бита? а не 32...
Цитата Сообщение от KiraLis39 Посмотреть сообщение
Двоичная - от 0 до 9
0
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
17.09.2015, 12:51  [ТС]
Да, сплю уже, не соображаю что пишу -_- а про int в учебнике написано, что кодируется 4 битами.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.09.2015, 12:53
Цитата Сообщение от KiraLis39 Посмотреть сообщение
4 битами
4 байтами - 32 битами (4 байта * 8 бит в байте = 32 бита)
1
17.09.2015, 12:55

Не по теме:

Цитата Сообщение от Kerry_Jr Посмотреть сообщение
4 байтами - 32 битами
не спорь с учебником!

0
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
17.09.2015, 14:11  [ТС]


Добавлено через 22 секунды
пошел я спать... Спасибо за ответы.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
17.09.2015, 15:24
nxnx, да...с утра писал не проснулся ещё=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.09.2015, 15:24
Помогаю со студенческими работами здесь

Как происходит побитовый сдвиг?
for(int i = 0; i &lt; 10; i ++){ if (i &amp; (1 &lt;&lt; j)) cout &lt;&lt; i &lt;&lt; endl; }

Как реализовать правильный побитовый сдвиг?
Всем привет! У меня тупик в неожиданном месте) Я имею пару чаров и должен из них собрать int: char a1 = 224; char a2 = 18; ...

Побитовый сдвиг (сделать как обычное умножение)
Добрый день. Нужно сделать, что бы программа выводила результат обычного умножения. Пользователь введет два значения: a = 2; b = 3 и...

Не могу понять, как работает побитовый сдвиг
Есть вот такой код: int invar, wv1, wv2, et, yt, resv; invar = 14; wv1 = invar &gt;&gt; 4; printf(&quot;%i\n&quot;, wv1); wv1 = wv1 &lt;&lt;...

Побитовый сдвиг без изменения переменной (не понимаю как работает код)
Я до этого не особо использовал C++, но тут потребовалось разобраться с тем как устроено представление типа float. Нашёл пример кода,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru