КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Решение задачи 1ЗАДАЧИ.
Даны два целых положительных числа А и В.: 1. Определить значение каждого бита числа А. 2. Обнулить все четные биты числа А. 3. Выполнить проверку заданного (вводится с клавиатуры) бита числа В и если заданный бит имеет значение «ЛОЖЬ», т.е. равен 0, установить его. 4. Найти , , , . 5. Рассчитать , , , , , , , и показать, что результаты выполнения указанных операций совпадают с делением или умножением на степень двойки, соответствующий количеству сдвигаемых разрядов вправо или влево. Переменные А и B должны иметь тип unsigned int. Исходные данные и результат вывести в десятичной, шестнадцатеричной системах счисления и в виде двоичного числа. Решение задачи 1 /* Определение каждого бита целого числа А */ #include <stdio.h> #include <conio.h> #include <string.h> main() { int A, // Заданное целое число A1, // Рабочее целое число B, // Маска C, // Значение бита числа i; //параметр цикла
puts(" Введите целое число"); scanf("%d",&A); printf(" A=%d\n",A); B=1; // в двоичной сист. 0000000000000001 A1=A; puts(" Двоичное представление числа А:"); for(i=1;i<=16;i++) { C=A1&B;// Определение i-1- го бита printf(" бит %2d равен %d\n",i-1,C); A1=A1>>1; } printf("\n"); getch(); return(0); }
|