0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 8
1

Составьте программу, которая делает замену битов в числе

24.12.2021, 19:40. Показов 550. Ответов 9

Author24 — интернет-сервис помощи студентам
Сорян за вторую такую же тему, тут правильный заголовок.

Лаба первого курса, а по специальности я должен паять конденсаторы, поэтому прошу тут помощи.

Буду крайне благодарен за помощь!
Составьте программу, которая делает замену битов в числе
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2021, 19:40
Ответы с готовыми решениями:

[КуМир] Составьте программу, которая находит количество нулей в целом десятичном числе, введенном с экрана
Программа с небольшой ошибкой. Алгоритм вроде как верен, но не берусь это утверждать со 100...

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

Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе.
Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе....

Написать функцию, которая для заданного числа Х вычисляет количество единичных битов в этом числе
Написать функцию, которая для заданного числа Х вычисляет количество единичных битов в этом числе,...

Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе
Здравствуйте, уважаемые мастера программирования. Нуждаюсь в вашей помощи. Написать функцию,...

9
Заблокирован
24.12.2021, 21:16 2
Цитата Сообщение от kezates Посмотреть сообщение
Лаба первого курса, а по специальности я должен паять конденсаторы, поэтому прошу тут помощи.
Я по специальности тоже должен был паять всё, что паяется. Но уже 20 лет программистом работаю.
Составьте программу, которая делает замену битов в числе
0
Заблокирован
24.12.2021, 21:22 3
C++
1
2
3
4
unsigned char set_bit(unsigned char src, unsigned char position, bool value)
{
  return value ? src | (1 << position) : src & ~(1 << position); 
}
1
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 8
24.12.2021, 22:45  [ТС] 4
Verevkin, понял тебя. Просто сам на такое не рассчитывал

Добавлено через 29 секунд
Verevkin, а можешь кинуть всю програмку?
0
Заблокирован
24.12.2021, 22:52 5
Цитата Сообщение от kezates Посмотреть сообщение
а можешь кинуть всю програмку?
Канешна могу.
Но не буду.
Сёдня жэж пятница. Я пришёл с работы, покормил кота, выпил литр чешского пивка, пожарил и пожрал картошечки с сёмгой и маринованными помидорчиками. А теперь мы с котом лежим на мягком диване и смотрим ютуб.

Пост сдал.
0
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 8
24.12.2021, 23:02  [ТС] 6
Verevkin, ого, тогда приятного времяпрепровождения!
А я, пожалуй, подожду ответа
0
Заблокирован
24.12.2021, 23:19 7
Цитата Сообщение от kezates Посмотреть сообщение
А я, пожалуй, подожду ответа
Вариант "написать лабу своими руками", я так понимаю, изначально не предполагался, да?
0
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 8
25.12.2021, 00:21  [ТС] 8
Verevkin, конечно нет, я пытался, но потом в тупик приходил
0
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,591
25.12.2021, 00:36 9
Цитата Сообщение от Verevkin Посмотреть сообщение
Сёдня жэж пятница. Я пришёл с работы, покормил кота, выпил литр чешского пивка, пожарил и пожрал картошечки с сёмгой и маринованными помидорчиками. А теперь мы с котом лежим на мягком диване и смотрим ютуб.
Аж скупая мужская слеза побежала.

Не стоит пытаться вводить unsinged char. Проще ввести unsigned int и отрезать оттуда первые восемь бит.
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
unsigned char set_bit(unsigned char src, unsigned char position, bool value) {
    return value ? src | (1 << position) : src & ~(1 << position);
}
 
int main() {
 
    unsigned int src;
    unsigned int position;
    bool value;
 
 
    std::cin >> std::hex >> src >> position >> value;
    std::cout << std::hex << +set_bit(src & 0xFF, position & 0xFF, value);
 
    return 0;
}
0
Заблокирован
25.12.2021, 11:13 10
Цитата Сообщение от lemegeton Посмотреть сообщение
Не стоит пытаться вводить unsinged char.
По условию задачи.
А чтобы охватить все целые типы, проще написать несколько макросов.
C++
1
2
3
#define SETBIT(x, p) ((x) | (1 << (p))
#define CLRBIT(x, p) ((x) & (~(1 << (p))) 
#define RSTBIT(x, p) ((x) ^ (1 << (p))
0
25.12.2021, 11:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2021, 11:13
Помогаю со студенческими работами здесь

Написать функцию, которая для заданого целого числа Х вычисляет количество пар (расположенных друг за другом) нулевых битов в этом числе
Помогите плиз)) Нужно срочно на завтра написать прогу на С++. Если можно с блок-схемой. Заранее...

В числе А установить в ноль n битов влево от позиции p, заменить ими m битов числа В, начиная с позиции q
В общем дали такую задачку(извините, что дублирую с названием темы), В числе А установить в ноль n...

Определить, насколько в числе А больше значащих битов, равных единице, чем битов, равных нулю
Определить, насколько в числе А больше значащих битов, равных единице, чем битов, равных нулю. Вот...

Установить в 0 n битов в числе А вправо от позиции p, заменить ими m битов числа В, начиная с позиции q
Установить в 0 n битов в числе А вправо от позиции p, заменить ими m битов числа В, начиная с...

Инвертировать в числе А n битов вправо от позиции p, заменить ими m битов числа В, начиная с позиции q
2. Инвертировать в числе А n битов вправо от позиции p, заменить ими m битов числа В, начиная с...

Установить в 1 в числе А n битов вправо от позиции p, заменить ими m битов числа В, начиная с позиции q
Доброго времени суток всем! Помогите найти решение для задачи &quot;Установить в 1 в числе А n битов...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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