Нужно написать код, что бы переводил из дессятичной в двоичную. С помощью массива нада это зделать. Помогите, буду благодарен
Делишь число на два и записываешь остаток в массив, дальше просто берешь и выводишь на экран массив в обратном порядке
а можна мне на питоне, там типа похоже #функция для перевода десятичного числа в двоичное def dec_to_binary(num): num_2 = [] while num > 0: if num %2 == 0: #если остаток от деления ноль, то добавить в массив 0, собсна k = "0" num_2.append(k) num //= 2 else: #если остаток от деления один, то добавить в массив 1 k = "1" num_2.append(k) num //= 2 size = len(num_2) - 1 #переворот массива while size >= 0: print(num_2[size], end="") # P.S в питоне строки пишутся с новоq строки, поэтому я добавил end="", она убирает перенос, в плюсах можно просто не писать endl или \n size -= 1 num_10 = int(input("Введите число: ")) to_binary(num_10) Код #функция для перевода десятичного числа в двоичное def dec_to_binary(num): num_2 = [] while num > 0: if num %2 == 0: #если остаток от деления ноль, то добавить в массив 0, собсна k = "0" num_2.append(k) num //= 2 else: #если остаток от деления один, то добавить в массив 1 k = "1" num_2.append(k) num //= 2 size = len(num_2) - 1 #переворот массива while size >= 0: print(num_2[size], end="") # P.S в питоне строки пишутся с новоq строки, поэтому я добавил end="", она убирает перенос, в плюсах можно просто не писать endl или \n size -= 1 num_10 = int(input("Введите число: ")) to_binary(num_10)
Вот на плюсах #include <iostream> #include <vector> using namespace std; int main() { int x; cin >> x; vector<int> ans; while (x > 1) { ans.push_back(x%2); x /= 2; } ans.push_back(1); for (int i = ans.size()-1; i >= 0; i--) cout << ans[i]; return 0; } Код #include <iostream> #include <vector> using namespace std; int main() { int x; cin >> x; vector<int> ans; while (x > 1) { ans.push_back(x%2); x /= 2; } ans.push_back(1); for (int i = ans.size()-1; i >= 0; i--) cout << ans[i]; return 0; }
#include <iostream> #include <string> #include <math.h> using namespace std; int n; char a[100000] , b[100000]; int l = 99; class binary { public: int bin() { cin >> n; if (1 <= n || n <= pow(10, 8)) { for (int i = 0; i < 100; i++) {//func print if (n % 2 == 0) { n = n / 2; a[i] = '0'; } else { n = n / 2; a[i] = '1'; } if (a[0] == '1') { a[0] = '0'; } } for (int i = 0; i < 100; i++) {//reverse bin b[l] = a[i]; l--; } cout << b << endl; } else {//if the number print error cout << "please legacy number"; } return 0; } }; Код #include <iostream> #include <string> #include <math.h> using namespace std; int n; char a[100000] , b[100000]; int l = 99; class binary { public: int bin() { cin >> n; if (1 <= n || n <= pow(10, 8)) { for (int i = 0; i < 100; i++) {//func print if (n % 2 == 0) { n = n / 2; a[i] = '0'; } else { n = n / 2; a[i] = '1'; } if (a[0] == '1') { a[0] = '0'; } } for (int i = 0; i < 100; i++) {//reverse bin b[l] = a[i]; l--; } cout << b << endl; } else {//if the number print error cout << "please legacy number"; } return 0; } };