Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
1

Сдвиг байтов, ошибка в книге?

20.02.2017, 16:36. Показов 1216. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прохожу тему по перемещению байтов.
В книге написан код:

C++
1
j = 1 << j
в первый цикл он работает нормально, после чего нужны бит начинает кидать по байту.

Если же написать код под другому:
C++
1
j = j >> 1
все корректно работает.
Сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <cstdlib>
 
    void bitsnow (int r){
        for(int i(128); i>0; i = i/2){
        if(r & i){
            std::cout << " 1 ";
        }
        else{
            std::cout << " 0 ";
        }
    }std::cout << std::endl;
 
}
 
 
    int main(){
    int j(1);
 
     for (int i(0); i < 8; i++){
         bitsnow (j);
         j =  j << 1;
     }
    
     std::cout << std::endl;
 
     for (int i(0); i < 8; i++){
         bitsnow (j);
         j = j >> 1;
     }
 
    std::cout << std::endl;
    system ("pause");
    return 0;
 
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2017, 16:36
Ответы с готовыми решениями:

Сдвиг на несколько байтов. Подсчет битов
Здравствуйте. Есть заданеобходиорой необходимо сосчитать количество 0 бит в младшем и старшим...

Ошибка при открытии файла - Ошибка в части содержимого в книге
Добрый день! Открываю файл. Создаю макросом сводную таблицу, сохраняю файл. Затем при попытке...

Выполнить чтение всех байтов с файла с помощью FileInputStream в массив байтов
Выполнить чтение всех байтов с файла с помощью FileInputStream в массив байтов. Создать строку...

Сканирование байтов в памяти, и получение начального адреса байтов
Привет форумчане! У меня вопрос, как просканировать память у процесса так, чтобы получить адрес...

4
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
20.02.2017, 18:11 2
Лучший ответ Сообщение было отмечено Photofenix как решение

Решение

Photofenix, не очень понятно, в чем твоя задача.
Однако, 1 << j дает 2j, j <<1 дает j*2
1
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
20.02.2017, 18:58  [ТС] 3
Теперь все понятно!
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
20.02.2017, 19:05 4
Там, правда:
Цитата Сообщение от Photofenix Посмотреть сообщение
j = j >> 1
Что означает j/2
0
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
20.02.2017, 20:34  [ТС] 5
Сдвиг битов в право ?
0
20.02.2017, 20:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2017, 20:34
Помогаю со студенческими работами здесь

Ошибка в нарезке байтов
Всем привет. Подскажите, где у меня ошибка. Мне нужно порезать байтовый массив ws_byte на кусочки...

Если увеличить объём кластера на флешке с 4048 байтов до 8192 байтов то она будет работать быстрей?
Как думаете если увеличить объём кластера на флешке с 4048 байтов до 8192 байтов то на будет...

C# ошибка в книге ?
Ошибка в книге ? или я что то не понял? если не так то прошу объяснить заранее спасибо ) ...

Ошибка в книге?
Я тут наткнулся на непонятную ситуацию. Кто-нибудь скажет, почему там так написано(фото ниже)? (или...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru