Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322

Побитовые операции

14.09.2018, 17:25. Показов 858. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С помощью побитовых операций преобразовать число -78 в 15
Вот что пыталась делать, кто знает как сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int v =-78;
    int i = 1;
    v=~v;
    while (1)
    {
        if (v == 15)
            break;
        else
        v >>= 1;
    }
    cout << v;
    system("pause");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.09.2018, 17:25
Ответы с готовыми решениями:

Побитовые операции на с++ (<< и >>)
Подскажите пожалуйста, такая задача - побитовый сдвиг на заданное количество символов сдвигает только цифры, как сделать чтобы он то же...

Побитовые операции
У меня вопрос по правильности побитовых операций в моем коде: class Extracter :public AudioChecker { private: ...

Побитовые операции
1-программа #include &lt;stdio.h&gt; #include &lt;windows.h&gt; int main(void) { char g; /* ??? ????????? */ char s; /* ??????? ?????? */ ...

7
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
14.09.2018, 18:00
vfhbf, ассемблерная вставка подойдет?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
 
using namespace std;
 
int main()
{
    int v = -78;
    int res = 0;
    for(int i=0; i<8; i++)
    {
        __asm
        {
            shr v, 1
            jnc next
            rcl res, 1
next:
        }
    }
    cout << res;
    system("pause");
    return 0 ;
}
1
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
14.09.2018, 18:10
C++
1
2
3
4
5
int v =-78;
int res=0;
res &= v;
v=res | 0x0f;
cout<<v;
Чем не преобразование, все в соответствии с условиями (исключительно побитовыми операциями)!
1
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
14.09.2018, 18:25
vfhbf, можно еще так:
C
1
v = (((v<<1)&0x04) | (v>>4)) & 0x0f;
Или так:
C
1
2
v = ~v;
v = (((v>>5)&0x02) | v ) & 0x0f;
1
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
14.09.2018, 18:33  [ТС]
zss, Спасибо) Если не тяжело можете объяснить?
res &= v;
v=res | 0x0f;
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
14.09.2018, 18:43
vfhbf, могу и я
res = 0, после res &= v так и осталось res = 0
Потом тупо втыкаем 0x0f при помощи v = res | 0x0f и вуаля!
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.09.2018, 20:16
Цитата Сообщение от zss Посмотреть сообщение
Чем не преобразование, все в соответствии с условиями (исключительно побитовыми операциями)!
Ты хоть объясни человеку, что это чит. Преподаватель такое скорее всего не оценит

Добавлено через 5 минут
А вообще условие задачи слишком мутное и расплывчатое, имеющее миллион решений. Пока внятно не понять смысл задачи, нормального решения не будет

C
#include <stdio.h>
 
int main (void)
{
  int v = -78;
 
  printf ("%08x\n", (v >> 8) & 0xf);
  printf ("%08x\n", (~v & 0xf) | 0x2);
  printf ("%08x\n", (v & 0x0) | 0xf); /* вариант от zss */
}
2
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
14.09.2018, 22:46
Первое, что приходит в голову:
C
1
2
int v = -78;
int w = v ^ (-67);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.09.2018, 22:46
Помогаю со студенческими работами здесь

Побитовые операции
Задача: битовый образ 8*8 задается при помощи 8 байт, каждый байт состоит, соответственно, из 8 бит, бит={0,1}; при помощи побитовых...

Побитовые операции
Пожалуйста, объясните как работают побитовые операторы &amp; и |. Например идет: i=03; j=01; k=i &amp; j; // k=1 k=i | j; // k=3 А...

Побитовые операции
Помогите решить несколько задач по битовым операциям,они все малы по реализации. И объяснить начиная с 3 задачи,что нужно сделать?А то не...

Побитовые операции
Напишіть програму, яка за даним числом N знаходить різницю між найбільшим і найменшим числом, які утворюються із бітів заданого числа. У...

Побитовые операции
Помогите пожалуйста, никак не могу справиться с этой задачкой. Выделить из числа x поле шириной n битов, начиная с позиции p, и...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru