Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CarlosA
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 2
#1

Битовый сдвиг вправо для дробных чисел - C++

22.01.2013, 23:27. Просмотров 1106. Ответов 2
Метки нет (Все метки)

(Как мне уже известно) битовый сдвиг вправо на одну "ячейку" аналогичен делению на 2.
Например 1/2^3 или 1>>3. Число получается не целым, поэтому кроме как 0 я не получаю ответ. (я понимаю переменная то Int, но с float битовый сдвиг вообще не хочет работать)

Собственно вопрос :
- как получить нормальный ответ?(1>>3)
- как можно реализовать битовый сдвиг числу с плавающей точкой?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2013, 23:27     Битовый сдвиг вправо для дробных чисел
Посмотрите здесь:

Битовый сдвиг - C++
Вот в чем вопрос: int x = 2; int y; y = (x >> 32); cout << x << " " << y; Должен быть выход 2 0, а на экран...

Битовый сдвиг в if() - C++
Обясните как работает такой код:void swap(int &a, int &b) { int temp = a; a = b; b = temp; } void...

Битовый сдвиг массива - C++
Помогите разобраться с сдвигом влево (выравниванием до начала байта) данных. Задача заключается в том что есть некий массив, в котором...

Подскажите, как сделать сдвиг массива вправо для вставки нового элемента? - C++
// После каждого четного числа добавить число 0. const int n=10; int ar,k=n,t; for(int i=0;i<n;i++){ ar=rand()%10+1; ...

Проверить, как организована память в двумерном массиве. Сделать сдвиг вправо для каждой строчки двумерного мас - C++
Проверить, как организована память в двумерном массиве. Сделать сдвиг вправо для каждой строчки двумерного массива, используя указатели.

Сдвиг строки вправо - C++
Нужно написать программу по наследованию которая измеряет длину строки и сдвигает строку в право на один символ. Программа выдает следующую...

Сдвиг числа вправо - C++
Помогите, мне нужно реализовать машинный алгоритм умножения чисел. Первое число нужно сдвигать постоянно вправо и выводить на экран. Данный...

Циклический сдвиг вправо - C++
Нужно сделать цеклический сдвиг машинного слова на 1 байт влево, через union и через побитовые операции. Вот так я пишу побитовый сдвиг ...

Циклический сдвиг массива вправо - C++
дан двумерный массив MxN нужно осуществить поэлементный сдвиг вправо на 1 элемент

круговой сдвиг массива вправо - C++
Напишите программу которая принимает двухмерный массив целых чисел и количество сдвигов и выполняет круговой сдвиг массива вправо. ...

Сдвиг символов строки вправо - C++
собственно задача - сдвинуть строку на 2 символа вправо void main() { char a; char b; char l,c,y; int i=0; ...

Побитовый сдвиг влево и вправо - C++
Что выполнится быстрее - сдвиг влево или сдвиг вправо? И как замерить время выполнения каждой из операций в коде? Добавлено через 2...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13056 / 7319 / 816
Регистрация: 27.09.2012
Сообщений: 18,055
Записей в блоге: 3
Завершенные тесты: 1
22.01.2013, 23:32     Битовый сдвиг вправо для дробных чисел #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от CarlosA Посмотреть сообщение
как можно реализовать битовый сдвиг числу с плавающей точкой?
Плавающие числа представляются несколько иначе, чем целочисленные, поэтому такой метод тут не прокатит.
Представление вещественных чисел "на пальцах"
Формат данных с плавающей точкой
CarlosA
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 2
23.01.2013, 18:39  [ТС]     Битовый сдвиг вправо для дробных чисел #3
Помогите разобраться
например:
бинарное число 1011.101 / 10 = 101.1101
(десятичное 11.625 / 2 = 5.8125)
Какой операцией, аналогичной битовому сдвигу, я могу перемещать плавающую точку во float или double?(нужно уйти от оператора деления(умножения))
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru