Skip to content

Low-level C project implementing byte-based arithmetic operations with structured memory handling and input validation.

Notifications You must be signed in to change notification settings

e345ee/ByteAdditionDiscreteMath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ByteAdditionDiscreteMath

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 — конфигурация сборки

Сборка и запуск (Windows)

Требования

  • Установленный CMake
  • Компилятор MinGW (или другой, поддерживающий стандарт C11)

Сборка

git clone https://github.com/e345ee/ByteAdditionDiscreteMath.git
cd ByteAdditionDiscreteMath
cmake -G "MinGW Makefiles" .
make

После сборки выполните скомпилированный .exe файл из той же директории.


Используемые технологии

C CMake MinGW Windows Linux


План развития

  • Визуализация побитового переноса при сложении
  • Добавление вычитания и логических операций (AND, OR, XOR)
  • Поддержка чисел с плавающей точкой (формат IEEE-754)
  • Портирование в WebAssembly для интеграции с веб-интерфейсами
  • Поддержка пользовательских сценариев через командную строку

Автор

Садовой Григорий
Software Engineer
TelegramVKEmail


© 2025 ByteAdditionDiscreteMath — lightweight binary arithmetic engine for precise bit-level computation.

About

Low-level C project implementing byte-based arithmetic operations with structured memory handling and input validation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published