You are on page 1of 5

Міністерство освіти і науки України

Вінницький Національний технічний університет


Факультет інформаційних технологій та комп’ютерної інженерії

Кафедра ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Лабораторна робота №1
Методи переведення чисел з однієї системи числення в іншу

Виконали ст. гр. _


1._
2._

Прийняв:

Вінниця 2023
Мета роботи: практично засвоїти методи переведення чисел з десяткової
системи числення у двійкову та з двійкової у десяткову.

Умова задачі
2. Розробити програму, яка буде переводити введене користувачем ціле
або дробове число з двійкової системи числення у десяткову систему числення з
виведенням результату на екран.

Код програми
#include <iostream>
#include <cmath>
#include <string>
#include <windows.h>

using namespace std;

// Функція для переведення двійкового дробу у десятковий


double binaryFractionToDecimal(string binaryStr) {
double decimal = 0.0;
int length = binaryStr.length();
int decimalPointIndex = binaryStr.find('.');

// Обчислюємо частину перед десятковою крапкою


for (int i = 0; i < decimalPointIndex; ++i) {
if (binaryStr[i] == '1') {
decimal += pow(2, decimalPointIndex - i - 1);
}
}

// Обчислюємо частину після десяткової крапки


for (int i = decimalPointIndex + 1; i < length; ++i) {
if (binaryStr[i] == '1') {
decimal += pow(2, decimalPointIndex - i);
}
}

return decimal;
}

int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string binaryInput;

cout << "Введіть дробове число в двійковій системі: ";


cin >> binaryInput;

// Переводимо введене число в десяткову систему


double decimalResult = binaryFractionToDecimal(binaryInput);

cout << "Результат у десятковій системі: " << decimalResult << endl;

return 0;
}

Результат роботи програми

Рис. 1 – Результат тестування роботи програми

Рис. 2 - Результат тестування роботи програми


Блок-схема
Висновок
У результаті виконання лабораторної роботи було практично засвоєно
методи переведення чисел з десяткової системи числення у двійкову та з
двійкової у десяткову.

You might also like