Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
Bluebell
0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 8
1

Для заданных чисел выполнить действия, используя логические побитовые операции

17.06.2015, 23:41. Просмотров 438. Ответов 1
Метки нет (Все метки)

Исправить код.
Для заданных чисел выполнить действия, используя логические побитовые операции. Оформить вывод результата каждой операции в виде двоичных и десятичных кодов.
Значения, использованные в коде:
Число - 115; Выделить - 2 бит; Обнулить - 1,4 бит; Установить- 3 бит; Инвертировать - 7,8 бит.
Значения, на которые нужно исправить:
Число - 114; Выделить - 5,6 бит; Обнулить - 3,4 бит; Установить- 1,2 бит; Инвертировать - 8 бит.

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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
void binview(int n) // Функция перевода числа в двоичный код
{
    int i;
    int bin[9];
    for(i=0;i<9;i++)
    {
        if((n>>i)%2==0) bin[8-i]=0;
        else bin[8-i]=1;
    }
    for(i=1;i<9;i++) // Вывод числа в двоичном коде на экран
    printf("%d",bin[i]);
    return;
}
int main()
{
    setlocale(LC_ALL,"Rus"); // Подключение русского языка
    int A=115; // Исходное число
    int result1,result2,result3,result4; 
    printf("Запись в сист.счисл. 10  -    2");
    printf("\n\nИсходные данные:     %d - ",A);
    binview(A); // Перевод числа А в двоичный код
    result1=A^2; // Операция A xor 2
    printf("\nВыдел. 2 бита  :     %d - ",result1);
    binview(result1); // Перевод полученного числа в двоичный код
    result2=A&118; // Операция A and 118
    printf("\nОбнул.1,4 битов:     %d - ",result2);
    binview(result2); // Перевод полученного числа в двоичный код
    result3=A|4; // Операция A or 4
    printf("\nУстан. 3 бита  :     %d - ",result3);
    binview(result3); // Перевод полученного числа в двоичный код
    result4=A^192; // Операция A xor 192
    printf("\nИнверт.7,8 бит :     %d - ",result4);
    binview(result4); // Перевод полученного числа в двоичный код
 
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2015, 23:41
Ответы с готовыми решениями:

Используя побитовые операции, преобразовать десятичное число в двоичное
printf(&quot;Десятичное значение числа: &quot;); scanf(&quot;%d&quot;, &amp;x); a=0; do { a=a+x&amp;1;...

Упорядочить три целых числа по возрастанию (используя оператор if и логические операции)
Написать программу, которая позволяет упорядочить три целых числа по порядку возрастания....

Перемножить элементы массива целых чисел (побитовые операции)
Всех форумчан с новым годом!)) Помогите решить задачу в Си: Перемножить элементы массива целых...

Побитовые операции
При написании функций можно использовать только следующее: - целочисленные константы; -...

Побитовые операции
Есть число 0x7с1b. Перевожу его в двоичный вид - 0111110000011011. Каждый бит за что то отвечает....

1
anmartex
...
1714 / 1207 / 908
Регистрация: 12.02.2013
Сообщений: 1,978
18.06.2015, 07:40 2
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
#include <stdio.h>
 
typedef unsigned char byte;
 
void printBin(byte val) {
    int i;
    for (i = 0; i < 8; ++i, val <<= 1) {
        putc((val & 128) ? '1' : '0', stdout);
    }
}
 
void print(const char text[], byte val) {
    printf("%s: \tdec = %d\tbin = ", text, val);
    printBin(val);
    putc('\n', stdout);
}
 
int main() {
    byte val = 114;
 
    print("src", val);
    print("5,6", val & 48);
    print("3,4", val & 243);
    print("1,2", val | 3);
    print("  8", val ^ 128);
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2015, 07:40

Побитовые операции
Доброго времени суток. Читаю KR, добрался до упражнения 2.9: Применительно к числам, в...

Побитовые операции
Даны два целых положительных числа А и В.: 1. Определить значение каждого бита числа А. 2....

Побитовые операции
Задача: Функция setbits(x, p , n, y) которая возвращает x, в котором n битов, начиная с позиции p,...


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

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

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