Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Лаба4.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <cstring>
- #include <bitset>
- int trim(std::string bitstr)
- {
- int index = 0;
- for (unsigned int i = 0; i < bitstr.length(); ++i) {
- if (bitstr[i] == '1') {
- index = i;
- break;
- }
- }
- return index;
- }
- void comparison(std::string FirstBinary, std::string SecondBinary, int FirstNumber, int SecondNumber)
- {
- int difference = FirstNumber ^ SecondNumber;
- int index = trim(std::bitset<32>(difference).to_string());
- if (FirstBinary == SecondBinary) {
- std::cout << FirstBinary.substr(trim(FirstBinary)) << " is equal to " << SecondBinary.substr(trim(SecondBinary)) << std::endl;
- }
- else if (FirstBinary[index] > SecondBinary[index]) {
- std::cout << FirstBinary.substr(trim(FirstBinary)) << " is larger than " << SecondBinary.substr(trim(SecondBinary)) << std::endl;
- }
- else {
- std::cout << FirstBinary.substr(trim(FirstBinary)) << " is smaller than " << SecondBinary.substr(trim(SecondBinary)) << std::endl;
- }
- }
- int main()
- {
- int FirstNumber;
- int SecondNumber;
- while (true) {
- std::cout << "Please enter first number." << std::endl;
- std::cin >> FirstNumber;
- std::cout << "Please enter second number." << std::endl;
- std::cin >> SecondNumber;
- std::string FirstBinary = std::bitset<32>(FirstNumber).to_string();
- std::string SecondBinary = std::bitset<32>(SecondNumber).to_string();
- std::cout << "First number in binary is " << FirstBinary.substr(trim(FirstBinary)) << std::endl;
- std::cout << "Second number in binary is " << SecondBinary.substr(trim(SecondBinary)) << std::endl;
- comparison(FirstBinary, SecondBinary, FirstNumber, SecondNumber);
- std::string answer;
- std::cout << "Do you want to continue? (y/n)" << std::endl;
- std::cin >> answer;
- if (answer == "n") {
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement