4563 = 4 × 10^3 + 5 × 10^2 + 6 × 10^1 + 3 × 10^0
100101 = 1 × 2^5 + 0 ×2^4 + 0 ×2^3 + 1 ×2^2 + 0 ×2^1 + 1 ×2^0
AC6 = 10 ×16^2 + 12 ×16^1 + 6 × 16^0
Задание 2:
1001010, 112, 4А
Задание 3:
1)
11001101011+1110000101=100111110000 101011-10011=11000 1011х101=101100+1011=110111
2)
Получилось: 564+234 = 1020
Получилось: 652-465 = 165
3)
Получилось: DF45+128A = F1CF
Получилось: 92D4-11AE = 8126
Развернутая форма числа - представление числа в виде суммы каждого разряда числа.
4563 = 4 × 10^3 + 5 × 10^2 + 6 × 10^1 + 3 × 10^0
100101 = 1 × 2^5 + 0 ×2^4 + 0 ×2^3 + 1 ×2^2 + 0 ×2^1 + 1 ×2^0
AC6 = 10 ×16^2 + 12 ×16^1 + 6 × 16^0
Задание 2:
1001010, 112, 4А
Задание 3:
1)
11001101011+1110000101=100111110000
101011-10011=11000
1011х101=101100+1011=110111
2)
+564234
1020
-652Получилось: 564+234 = 1020
465
165
Получилось: 652-465 = 165
3)
+DF45128A
F1CF
-92D4Получилось: DF45+128A = F1CF
11AE
8126
Получилось: 92D4-11AE = 8126
//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <iterator>
#include <algorithm>
bool DigitFirst(const std::string& rhs, const std::string& lhs)
{
if (isdigit(rhs[0]) || isdigit(lhs[0]))
return rhs < lhs;
}
bool LetterFirst(const std::string& rhs, const std::string& lhs)
{
if (isalpha(rhs[0]) || isalpha(lhs[0]))
return rhs < lhs;
}
const std::string TrueSort(std::string str, bool(*comparator)(const std::string&
rhs, const std::string& lhs))
{
std::stringstream ss(str);
std::vector<std::string> vstr(std::istream_iterator<std::string>(ss), {});
std::sort(vstr.begin(), vstr.end(), comparator);
ss.clear();
std::copy(vstr.begin(), vstr.end(), std::ostream_iterator<std::string>(ss, " "));
return ss.str();
}
int main()
{
std::string first = "position total 12345 2jz asd512fgh";
std::string second = "year 10010 2018r r98k hello";
std::cout << TrueSort(first, DigitFirst ) << std::endl;
std::cout << TrueSort(second, LetterFirst);
}