Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
boganet
3 / 3 / 4
Регистрация: 08.04.2017
Сообщений: 73
Завершенные тесты: 1
1

Битовая операция

08.04.2017, 14:01. Просмотров 777. Ответов 1
Метки нет (Все метки)

Выполнить проверку заданного (вводится с клавиатуры) бита числа В и если заданный бит имеет значение «ЛОЖЬ»(равен 0) , установить его.
Переменные А и B должны иметь тип unsigned int.
Исходные данные и результат вывести в десятичной, шестнадцатеричной системах счисления и в виде двоичного числа.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2017, 14:01
Ответы с готовыми решениями:

Битовая переменная в функции
#include <avr/io.h> #include <avr/pgmspace.h> #include <avr/delay.h> struct LEDValu { ...

Битовая арифметика в параметрах функции. Как это работает?
Разбираюсь с библиотекой SDL http://ru.wikipedia.org/wiki/Simple_DirectMedia_Layer Там есть такая...

Битовая операция ->
Что делает операция -> К примеру, есть структура: struct BIT{ unsigned int cod1:3; ...

Битовая операция с отрицательным числом
Есть такой код int main() { int k = 12; cout << (k & -k); return 0; } Выводит этот код

1
sidor_01
81 / 80 / 72
Регистрация: 25.02.2017
Сообщений: 175
08.04.2017, 17:16 2
Лучший ответ Сообщение было отмечено boganet как решение

Решение

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
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<stdio.h>
void binary(unsigned int x,unsigned int size);
unsigned int check(unsigned int b,unsigned int a);
int main(void)
{
    unsigned int a,b;
    printf("Enter number b (b>0): ");
    scanf("%u",&b);
    printf("Enter bit number a (a<0<=%d): ",8*sizeof(unsigned));
    scanf("%u",&a);
    
    printf("\n");
    printf("Source data\n");
    printf("decimal: %u\n",b);
    printf("heximal: %0*X\n",2*sizeof(unsigned),b);
    printf("binary: ");
    binary(b,8*sizeof(b));
    printf("\n\n\n");
    
    printf("bit number %d has value ",a);
    if(check(b,a))
    printf("1\n\n\n");
    else
    {
    printf("0\n\n\n");
    b=b|(1<<(a-1));
    }
 
    printf("Result\n");
    printf("decimal: %u\n",b);
    printf("heximal: %0*X\n",2*sizeof(unsigned),b);
    printf("binary: ");
    binary(b,8*sizeof(b));
    printf("\n");
    return 0;
}
void binary(unsigned int x,unsigned int size)
{
    if(!size)
    {
        return;
    }
    binary(x/2,--size);
    printf("%u",x%2);
}
unsigned int check(unsigned int b,unsigned int a)
{
    return b&(1<<(a-1));
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2017, 17:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Битовая операция "ИЛИ" эквивалентна операции сложения для двух целых чисел?
Всем привет. Скажите, пожалуйста, битовая операция &quot;ИЛИ&quot; эквивалентна операции сложения для двух...

Битовая арифметика
Добрый день, форумчане! Как реализовать функцию или процедуру так, чтоб он обменял битами между...

Битовая инверсия
Доброго времени суток! Я что-то запутался с побитовой инверсией. В коде прописываю int a=5;...

Битовая арифметика
Почему при: int myVar = 15, mask = 0x00 00 00 01; //выделил разряды printf(&quot;%d&quot;, myVar &amp; mask);...


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

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

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