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

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

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

Author24 — интернет-сервис помощи студентам
С помощью побитовых операций преобразовать число -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...

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

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

7
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
14.09.2018, 18:00 2
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
Модератор
Эксперт С++
13727 / 10923 / 6479
Регистрация: 18.12.2011
Сообщений: 29,155
14.09.2018, 18:10 3
C++
1
2
3
4
5
int v =-78;
int res=0;
res &= v;
v=res | 0x0f;
cout<<v;
Чем не преобразование, все в соответствии с условиями (исключительно побитовыми операциями)!
1
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
14.09.2018, 18:25 4
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  [ТС] 5
zss, Спасибо) Если не тяжело можете объяснить?
res &= v;
v=res | 0x0f;
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
14.09.2018, 18:43 6
vfhbf, могу и я
res = 0, после res &= v так и осталось res = 0
Потом тупо втыкаем 0x0f при помощи v = res | 0x0f и вуаля!
0
Evg
Эксперт CАвтор FAQ
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.09.2018, 20:16 7
Цитата Сообщение от 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
Фрилансер
3709 / 2081 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
14.09.2018, 22:46 8
Первое, что приходит в голову:
C
1
2
int v = -78;
int w = v ^ (-67);
0
14.09.2018, 22:46
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.09.2018, 22:46
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru