ByteAdditionDiscreteMath — консольное приложение на языке C, выполняющее сложение чисел в двоичном представлении с использованием дополнительного кода.
Проект реализует точное моделирование побитового сложения с управлением переносами и обработкой знаковых чисел.
Приложение построено с модульной архитектурой, использует только стандартные библиотеки языка C и поддерживает кроссплатформенную сборку через CMake.
Программа получает на вход два числа в диапазоне (0, 127], выполняет их побитовое сложение и выводит результат в консоль.
Все операции происходят на уровне битов, что позволяет наблюдать логику машинного сложения и переносов.
Реализовано управление ошибками ввода и корректная обработка знаковых значений в дополнительном коде.
- Сложение целых чисел в двоичном представлении
- Работа с дополнительным кодом (two’s complement)
- Проверка корректности пользовательского ввода
- Управление флагами (перенос, переполнение, знак)
- Чистая архитектура и возможность интеграции в другие CLI-инструменты
- Лёгкая расширяемость для поддержки других арифметических операций
ByteAdditionDiscreteMath/
├── CMakeLists.txt
├── include/
│ ├── base_struct.h
│ ├── get_flags.h
│ ├── operations_with_line.h
│ ├── printer.h
│ └── reader.h
├── src/
│ ├── base_struct.c
│ ├── get_flags.c
│ ├── main.c
│ ├── operations_with_line.c
│ ├── printer.c
│ └── reader.c
└── .vscode/
- include/ — заголовочные файлы и интерфейсы модулей
- src/ — реализация модулей и точка входа
- CMakeLists.txt — конфигурация сборки
- Установленный CMake
- Компилятор MinGW (или другой, поддерживающий стандарт C11)
git clone https://github.com/e345ee/ByteAdditionDiscreteMath.git
cd ByteAdditionDiscreteMath
cmake -G "MinGW Makefiles" .
makeПосле сборки выполните скомпилированный .exe файл из той же директории.
- Визуализация побитового переноса при сложении
- Добавление вычитания и логических операций (AND, OR, XOR)
- Поддержка чисел с плавающей точкой (формат IEEE-754)
- Портирование в WebAssembly для интеграции с веб-интерфейсами
- Поддержка пользовательских сценариев через командную строку
Садовой Григорий
Software Engineer
Telegram • VK • Email
© 2025 ByteAdditionDiscreteMath — lightweight binary arithmetic engine for precise bit-level computation.