https://github.com/leewayzdes/binary-calculator-cpp
Калькулятор двоичных чисел на C++, реализующий арифметические операции (+, -, *) в постфиксной (обратной польской) записи.
https://github.com/leewayzdes/binary-calculator-cpp
binarycalculator calculator cpp
Last synced: over 1 year ago
JSON representation
Калькулятор двоичных чисел на C++, реализующий арифметические операции (+, -, *) в постфиксной (обратной польской) записи.
- Host: GitHub
- URL: https://github.com/leewayzdes/binary-calculator-cpp
- Owner: leewayzdes
- Created: 2024-10-26T11:32:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-05T20:36:10.000Z (over 1 year ago)
- Last Synced: 2025-03-05T21:50:11.179Z (over 1 year ago)
- Topics: binarycalculator, calculator, cpp
- Language: C++
- Homepage:
- Size: 12.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Binary Calculator (C++)
## Описание проекта
Этот репозиторий содержит **калькулятор двоичных чисел** на C++, который выполняет **арифметические операции** (+, -, *) в **постфиксной (обратной польской) записи**.
### **Основные возможности**
- 🔹 **Перевод чисел** из десятичной системы в двоичную и обратно
- 🔹 **Арифметические операции** в двоичной системе
- 🔹 **Обработка отрицательных чисел** (дополнительный код)
- 🔹 **Работа с разрядностью (8, 16, 32 бит)**
- 🔹 **Вычисления в постфиксной записи (Reverse Polish Notation, RPN)**
- 🔹 **Реализация стека на основе односвязного списка**
---
## **Функциональность**
✅ Конвертация **десятичных чисел в двоичную систему**
✅ **Обратный перевод** из двоичной системы в десятичную
✅ **Арифметические операции**: сложение, вычитание, умножение
✅ **Обработка отрицательных чисел** (дополнительный код)
✅ **Работа с разрядностью** (8, 16, 32 бит)
✅ **Ввод выражений в постфиксной записи**
---
## **Структура данных**
| Класс | Описание |
|---------------------|----------|
| `BinaryNumber` | Класс для работы с двоичными числами (перевод, арифметика) |
| `Stack` | Шаблонный стек (реализован на односвязном списке) |
| `LinkedList` | Односвязный список, используемый для реализации стека |
| `BinaryCalculator` | Основной класс программы (разбор выражений, выполнение операций) |
## Примеры работы.
### Пример ввода:
*Enter the size (8, 16, 32): 8*
*Enter postfix expression: 5 3 +*
### Вывод:
*Result:*
*00001000 (Binary)*
*8 (Decimal)*