/
MaestroN
/
Eltex_Homework
Обзор
Документация
Войти
/
MaestroN
/
Eltex_Homework
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Task_1/task1.4.c
62 строки
2 KB
nikita_shub
Added the first task
04 ноя 2024, 08:06
04 ноя 2024, 08:06
57f60ec
Код
Авторство
О чём код?
#include <stdio.h> int func(int, int); void printBin(int); int main(void) { int number; int byte1; do { printf("Введите первое положительное число: "); scanf("%d", &number); if (number < 0) { printf("Ошибка: введите положительное число\n"); } } while (number < 0); do { printf("Введите однобайтовое положительное число: "); scanf("%d", &byte1); if (byte1 < 0 || byte1>255) { printf("Ошибка: введите однобайтовое число 0-255 \n"); } } while (byte1 < 0 || byte1>255); printf("Полученный результат в десятичном виде: %d\n",func(number, byte1)); return 0; } int func(int number, int byte1) { printf("Введенный байт:%20s", ""); printBin(byte1); printf("Исходное число:%20s", ""); printBin(number); int newByte = byte1 << 16; // Сдвигаем на 16 бит для третьего байта int mask = 0xFF00FFFF; // Маска для обнуления третьего байта int newNumber = number & mask; // Обнуляем третий байт int result = newNumber | newByte; // Устанавливаем новый байт printf("Измененное число:%18s", ""); printBin(result); return result; } void printBin(int number) { //проверка кода в двоичном виде int bit=sizeof(number)*8; //printf(" %d \n"); for (int i = bit - 1; i >= 0; i--) { int bit = (number >> i) & 1; printf("%d", bit); } printf("\n"); } // int func(int number, int byte1) { // int newByte=byte1 << 16; // int newNumber = number & 0b11111111000000001111111111111111; // int result= newNumber | newByte; // return result; // }