0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
||||||
1 | ||||||
Перевод из десятичной системы счисления в другую13.07.2019, 07:44. Показов 6324. Ответов 20
Не получается перевернуть число,когда использую функцию Perevorot выводит все единицы.
0
|
13.07.2019, 07:44 | |
Ответы с готовыми решениями:
20
Перевод чисел из десятичной системы счисления в любую другую Перевод из десятичной в другие системы счисления Перевод из десятичной(двоичной) системы счисления в двоичную(десятичную) Перевод из одной системы счисления в другую |
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 04:59 [ТС] | 4 |
Verevkin, это нужно для корректной записи числа,после произведенных над числом действий в функции "SystemFunc".
Добавлено через 1 минуту Байт, я пробовал данную функцию,в конце концов почему-то вместо нужного числа выводит только единицы.
0
|
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 08:57 [ТС] | 6 |
ValeryS, они обе(моя и Байта) выводят единицы, количество цифр в числе произвольное,оно зависит от системы счисления,в которую переводиться число, и от числа,которое переводим в эту систему,но обычно от 2 до 6.Выводятся на экран все цифры, просто каждое из них заменяется на 1.
0
|
Модератор
8946 / 6712 / 921
Регистрация: 14.02.2011
Сообщений: 23,687
|
|
14.07.2019, 09:50 | 7 |
теперь посмотри как ты её вызываешь
зачем вызывать столько раз?
просмотри свою функцию SystemFunc и прокомментируй каждую строчку, лично я, алгоритм понять не в силах
0
|
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 10:55 [ТС] | 8 |
ValeryS, я понял в чем ошибка,функция Perevorot не будет работать корректно,т.к. на вход она получает последнее значение С, поэтому и выводит единицы.
int SystemFunc(int b, int q) //b-число;q-цифра обозначающая систему счисления. { int c; if (b > q) //если число больше чем система счисления идем дальше { int Ncount = 1; //счетчик длины числа,нужен чтоб ограничивать цикл for for (int i = 0; i < LengthNum(b, Ncount); i++) { if (b / q != 0) //если при деление числа на систему счисления получается не ноль,то мы увеличиваем счетчик { Ncount++; } c = b % q; //остаток от деления числа на система счисление,его запоминаем в с и потом выводим. printf("%d", c); //вывод b = b / q; //изменяем число b, чтобы дальше продолжить корректно переводить его в нужную систему счисления } printf("\n"); for (int i = 0; i < LengthNum(b, Ncount); i++) //пользуемся циклом { Perevorot(c); //Функция переворота числа } } else printf("%d", b%q); //в случае если число меньше чем система счисления единажды берем и записываем остаток от деления. return c; }
0
|
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 11:42 [ТС] | 11 |
ValeryS, в 16 переводится,нужно просто потом там где остаток равен 10-15 заменить его на букву,но щас не до этом. "зачем? остаток от деления будет равен самому числу" отличное замечание,щас исправлю,спасибо.
0
|
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 11:52 [ТС] | 14 |
Verevkin, посмотри фото,которое я кидал,там третья строчка вывода-это двоичная запись числа 12,но задом-наперед,потому функция устроена так,что делит число и запоминает остаток и записывает его,в жизни же,когда происходит перевод,ты делаешь все то же самое,но записывать число ты начинаешь с самого последнего остатка от деления,потому что такие правила.
Добавлено через 3 минуты ValeryS, хорошо,попробую как ты сказал. Добавлено через 58 секунд Байт, спасибо.
0
|
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 11:59 [ТС] | 16 |
Verevkin, от скуки.Сам себе задачу придумал.
0
|
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 12:01 [ТС] | 18 |
Verevkin, написать программу,которая будет переводить десятичное число в выбранную пользователем систему счисления.
0
|
Злостный нарушитель
9492 / 5139 / 1172
Регистрация: 12.03.2015
Сообщений: 24,221
|
||||||
14.07.2019, 12:10 | 19 | |||||
Ты, разве, не в курсе, что все числа в цифровой электронике хранятся, обрабатываются и передаются только в двоичном виде? Системы счисления - это мнемоника для ввода/выода с учётом восприятия инфы человеком.
Вот тебе, короче, функция. Перестань морочать голову себе и окружающим.
0
|
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 27
|
|
14.07.2019, 12:14 [ТС] | 20 |
Verevkin, спасибо.
0
|
14.07.2019, 12:14 | |
14.07.2019, 12:14 | |
Помогаю со студенческими работами здесь
20
Перевод из одной системы счисления в другую Перевод из одной системы счисления в другую Перевод чисел из одной системы счисления в другую Перевод чисел из одной системы счисления в другую Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |