Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200

Перевод с 10 в 32 систему счисления

10.11.2016, 11:15. Показов 3206. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я видел на одном сайте там можно било переводить с 10 в 32 систему счисления. Вопрос как такое организовать на шарпе?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.11.2016, 11:15
Ответы с готовыми решениями:

Рекурсия: перевод целого числа из десятичной системы счисления в 9 систему счисления
Написать рекурсивную функцию перевода целого числа из десятичной системы счисления в 9-чную систему счисления.

Перевод натурального числа из десятичной системы счисления в систему счисления по основанию
Здравствуйте. Я хотела бы попросить у вас помощи. Я понимаю, что это не очень красиво, но вдруг кто-нибудь откликнется. Я не очень...

Перевод действительных неотрицательных чисел из системы счисления M в систему счисления N, где 2<=M,N<=16
Добрый вечер. Помогите с заданием, пожалуйста. Перевод действительных неотрицательных чисел из системы счисления M в систему счисления N,...

24
 Аватар для bedvit
1208 / 259 / 22
Регистрация: 20.05.2016
Сообщений: 1,139
Записей в блоге: 22
10.11.2016, 13:02
Код для VBA (заранее извиняюсь за код не на C#), думаю для вас не составит труда его адаптировать. Вместо Decimal можете использовать BigInteger Structure.
Есть и более быстрые вычисления, но это сложнее, с помощью сторонних библиотек (к примеру Mpir.NET).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 Private Function Бит(Число As String, ОснованиеЧисла As Byte, ОснованиеРезультата As Byte) As String
 Dim dec, m As Byte, i As Byte
 If ОснованиеЧисла < 2 Or ОснованиеЧисла > 36 Or ОснованиеРезультата < 2 Or ОснованиеРезультата > 36 Then Exit Function
 Число = UCase(Число)
 For i = 1 To Len(Число)
   m = Asc(Mid$(Число, i, 1)) - 48
   If m > 9 Then m = m - 7
   dec = CDec(dec * ОснованиеЧисла + m) 'max Decimal = "79228162514264337593543950335"-29
 Next i
 Do
   m = dec - (ОснованиеРезультата * Fix(dec / ОснованиеРезультата)) + 48
   If m > 57 Then m = m + 7
   dec = Fix(dec / ОснованиеРезультата)
   Бит = Chr$(m) & Бит
 Loop While dec > 0
End Function
1
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
10.11.2016, 15:57
Лучший ответ Сообщение было отмечено LyciferAnZ как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
class DECto32
{
    static char[] arr32 = new char[32]{ '0', '1', '2', '3', '4', '5', '6', '7',
            '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',
            'L', 'M', 'N', 'O', 'P','Q','R','S','T','U','V' };
    static void Main()
    {
        string res = "";
        for (int dec = int.Parse(Console.ReadLine()); dec > 0; dec >>= 5) 
            res = arr32[dec & 31]+res;
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
Добавлено через 9 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
using System;
class DECto32
{
    static void Main()
    {
        string res = "",arr32 = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
        for (int dec = int.Parse(Console.ReadLine()); dec > 0; dec >>= 5)
            res = arr32[dec & 31] + res;
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
Добавлено через 11 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
class DECto32
{
    static void Main()
    {
        string res, arr32 = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
        int dec = int.Parse(Console.ReadLine());
        for (res = dec==0 ? "0" : ""; dec > 0; dec >>= 5)
            res = arr32[dec & 31] + res;
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
1
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 20:18  [ТС]
TuM0xA, Ухти 3 варианта спасибо большое) И тебе bedvit, Спасибо)

Добавлено через 8 минут
TuM0xA, А можете обьяснить пожалуйста 3 вариант?
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
10.11.2016, 22:27
LyciferAnZ, в первых двух вариантах был небольшой косяк: если ввести '0' то не выведет ничего
а в 3 варианте это исправлено

Добавлено через 29 секунд
C#
1
for (res = dec==0 ? "0" : ""; dec > 0; dec >>= 5)
1
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:17  [ТС]
TuM0xA, а если например переводить в 74 систему ето надо просто символов в arr32 добавить?

Добавлено через 1 минуту
Мне просто нужно чтоби числа очень маленькие били потому что есть большой поток массива чисел и его нужно сокращать )

Добавлено через 2 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
class DECto32
{
    static void Main()
    {
        string res, arr74 = "'₴`dPCRDTpIAQjhGu#$%^&*Kz)_+yVwrtslenBYJN=-giUomLvO~!@(№;:?bxWHFXkcqMfaZES";
        int dec = int.Parse(Console.ReadLine());
        for (res = dec==0 ? "0" : ""; dec > 0; dec >>= 5)
            res = arr74[dec & 73] + res;
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
Добавлено через 14 секунд
типа такого?
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
10.11.2016, 23:17
LyciferAnZ, скиньте мне 74 символа которые вы хотите использовать и я сделаю
1
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:21  [ТС]
TuM0xA, И еще вопрос как назад вернуть? (с 32 ибо 74 в 10)

Добавлено через 39 секунд
TuM0xA,
C#
1
        string simbolSH = "'₴`dPCRDTpIAQjhGu#$%^&*Kz)_+yVwrtslenBYJN=-giUomLvO~!@(№;:?bxWHFXkcqMfaZES";
Вот 74 символа

Добавлено через 44 секунды
Блин cyberforum изменяет некоторие(
Могу фото кинуть
0
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:23  [ТС]
Вот скрин
Миниатюры
Перевод с 10 в 32 систему счисления  
0
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:25  [ТС]
Ето по сути верхний и нижний реестр анг + все символи на клавеатуре и тут я заметил что можно добавить еще и цифри) Ето желательно конечно)

Добавлено через 15 секунд
Если не затруднит вас
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
10.11.2016, 23:29
я использовал свои символы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
class DECto74
{
    static void Main()
    {
        string res, 
        arr74 = "0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxy";
        int dec = int.Parse(Console.ReadLine());
        for (res = dec == 0 ? "0" : ""; dec > 0; dec /= 74)
            res = arr74[dec & 73] + res;
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
1
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:31  [ТС]
Вот полний список символов
Миниатюры
Перевод с 10 в 32 систему счисления  
0
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:33  [ТС]
Упс отправил после вас

Добавлено через 15 секунд
TuM0xA, А как назад вернуть в 10?

Добавлено через 1 минуту
TuM0xA, Сам процес переведения в 74 я понял а вот назад чтото не пойму (извеняюсь за ето)
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
10.11.2016, 23:34
исправил
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
class DECto74
{
    static void Main()
    {
        string res, 
        arr74 = "0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxy";
        int dec = int.Parse(Console.ReadLine());
        for (res = dec == 0 ? "0" : ""; dec > 0; dec /= 74)
            res = arr74[dec % 74] + res;
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
1
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:36  [ТС]
TuM0xA, А в 10-тичную систему как перевести?
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
10.11.2016, 23:46
Лучший ответ Сообщение было отмечено LyciferAnZ как решение

Решение

перевод из 74 в 10
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
class DECto74
{
    static void Main()
    {
        int res = 0;
        string arr74 = "0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxy";
        string s = Console.ReadLine();
        for (int i = s.Length - 1,j=0;i>=0 ; i--,j++)
            res += arr74.IndexOf(s[i]) * (int)Math.Pow(74,j);
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
1
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:47  [ТС]
TuM0xA, ООО спасибо огромнейшее) Извєняюсь если задерживал вас или что-то подобное..
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
10.11.2016, 23:48
LyciferAnZ, все норм, я спать
0
 Аватар для LyciferAnZ
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
10.11.2016, 23:49  [ТС]
TuM0xA, Окей)
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
11.11.2016, 08:42
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
class DECto74
{
    static void Main()
    {
        string res, 
        arr74 = "0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxy";
        int dec = int.Parse(Console.ReadLine());
        for (res = dec == 0 ? "0" : ""; dec > 0; dec /= 74)
            res = arr74[dec % 74] + res;
        Console.WriteLine(res);
        Console.ReadKey(true);
    }
}
вот тут вот ключевой момент
C#
1
arr74[dec % 74]
нужно именно % а не &. & - сработает только с числами, которые явлются (2^n) - 1 (1,3,7,15,31,63 и тд)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2016, 08:42
Помогаю со студенческими работами здесь

Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 <= M, N <= 16
Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 &lt;= M, N &lt;= 16.

Перевод числа из 8-ичной системы счисления в 16-ричную систему счисления и обратно.
Написать программу на С++. Перевод из 8 системы счисления в 16 систему счисления и обратно из 16 с/с в 8 с/с. Условия к программе: ...

Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 <= M, N <= 16
Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 &lt;= M, N &lt;= 16 Не могу осилить.

Перевод числа из восьмеричной системы счисления в шестнадцатеричную систему счисления
Вот пример числа: 754 = 1EC 1000 = 200

Перевод строки из 2-ной системы счисления в 8-ную систему счисления
помогите пожалуйста как сделать перевод строки из 2 системы счисления на 8 систему счисления через массив ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru