С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 3
1

Перевод из двоичной системы счисления в восьмеричную

15.11.2013, 22:31. Показов 4014. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Какой код нужно написать,что бы при вводе в textBox1 числа на подобии 1000101001 , программа считала что введено число в двоичной системе и при нажатии button1 , переводила в восьмеричную систему ( С 2ной в 8ую ) , и выводила результат в label1?
0
IT_Exp
Эксперт
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
Блог
15.11.2013, 22:31
Ответы с готовыми решениями:

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

Перевод целого десятичного числа в двоичную и восьмеричную системы счисления
Составить программу перевода введенного целого десятичнрго числа в двоичную и восьмеричную системы...

Перевод из двоичной системы счисления в десятичную и наоборот
помогите осуществить перевод из двоичной системы счисления в десятичную и наоборот

Перевод чисел из двоичной системы счисления в шестнадцатеричную
Добрый вечер форумчане, помогите пожалуйсто написать программу на С #, задача звучит так "...

13
90 / 90 / 13
Регистрация: 15.01.2011
Сообщений: 494
16.11.2013, 01:45 2
Vanish BrB,
C#
1
2
3
4
5
6
7
8
private void button1_Click(object sender, EventArgs e)
        {
            string convert;
            int inputValue;
            inputValue = int.Parse(textBox1.Text);
            convert = Convert.ToString(inputValue, 8);
            label1.Text = convert;
        }
1
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 3
16.11.2013, 17:51  [ТС] 3
Он считает число в textbox1 как десятичное, а не двоичное , а так работает.
А как сделать,что бы он считал его двоичным? вводимое число
0
75 / 80 / 51
Регистрация: 22.03.2013
Сообщений: 258
16.11.2013, 18:03 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using System;
using System.Collections.Generic;
 
namespace ConsoleApplication
{
    class Program
    {
        /// <summary>
        /// Переводит число из десятичной в систему счисления <paramref name="system"/>
        /// </summary>
        /// <param name="from">Число для перевода</param>
        /// <param name="system">Система счисления</param>
        public static long FromTenth(long from, int system) {
            if (from == 0)
                return 0;
 
            long result = 0;
            long part = from;
            double digit = 0d;
 
            while (part > 0) {
                result += (long)Math.Pow(10d, digit++) * (part % system);
                part /= system;
            }
 
            return result;
        }
 
        /// <summary>
        /// Перевод числа из системы исчисления <paramref name="system"/> в десятичную
        /// </summary>
        /// <param name="number">Исходное число</param>
        /// <param name="system">Система счисления исходного числа</param>
        public static long ToTenth(long number, int system) {
            if (number == 0)
                return 0;
 
            double digit = 0d;
            long result = 0;
 
            while (number > 0) {
                result += (long)Math.Pow(system, digit++) * (number % 10);
                number /= 10;
            }
 
            return result;
        }
 
        static void Main(string[] args) {
            int a = 21, b = 24, c = 100;
            for (int i = 2; i < 10; i++) {
                Console.WriteLine("{0}-CC: 21 + 24 = {1}", i, 
                    FromTenth(ToTenth(21, i) + ToTenth(24, i), i));
            }
        }
    }
}
Вот код написал модератор tezaurismosis вот тема:ссылка
0
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 3
16.11.2013, 18:41  [ТС] 5
Это для консольного приложения,А у меня оконное
0
Неадекват
1496 / 1233 / 247
Регистрация: 02.04.2010
Сообщений: 2,804
16.11.2013, 21:19 6
Универсальное решение. Из десятичной в любую с основанием меньше 62 и из недесятичной в десятичную.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication32
{
    class Program
    {
        static List<char> keys = new List<char>();
        static Stack<int> stack = new Stack<int>();
 
        static void Main(string[] args)
        {
            InitList();
 
            Console.WriteLine(DecTo(30, 2));
            Console.WriteLine(ToDec("11110", 2));
 
            Console.ReadKey();
        }
 
        static int ToDec(string value, int baseValue)
        {
            var result = 0;
            var pow = value.Length;
 
            foreach (var item in value)
            {
                var number = keys.IndexOf(item);
                result += (number * (int)Math.Pow(baseValue, --pow));
            }
 
            return result;
        }
 
        static string DecTo(int value, int baseValue)
        {
            if (value < baseValue)
            {
                stack.Push(value);
                return string.Join("", Enumerable.Range(0, stack.Count).Select(x => keys[stack.Pop()]).ToArray());
            }
            else
            {
                var tmp = value % baseValue;
                stack.Push(tmp);
                return DecTo(value / baseValue, baseValue);
            }
        }
 
        static void InitList()
        {
            keys.Add('0');
            keys.Add('1');
            keys.Add('2');
            keys.Add('3');
            keys.Add('4');
            keys.Add('5');
            keys.Add('6');
            keys.Add('7');
            keys.Add('8');
            keys.Add('9');
            keys.Add('A');
            keys.Add('B');
            keys.Add('C');
            keys.Add('D');
            keys.Add('E');
            keys.Add('F');
            keys.Add('G');
            keys.Add('H');
            keys.Add('I');
            keys.Add('J');
            keys.Add('K');
            keys.Add('L');
            keys.Add('M');
            keys.Add('N');
            keys.Add('O');
            keys.Add('P');
            keys.Add('Q');
            keys.Add('R');
            keys.Add('S');
            keys.Add('T');
            keys.Add('U');
            keys.Add('V');
            keys.Add('W');
            keys.Add('X');
            keys.Add('Y');
            keys.Add('Z');
            keys.Add('a');
            keys.Add('b');
            keys.Add('c');
            keys.Add('d');
            keys.Add('e');
            keys.Add('f');
            keys.Add('g');
            keys.Add('h');
            keys.Add('i');
            keys.Add('j');
            keys.Add('k');
            keys.Add('l');
            keys.Add('m');
            keys.Add('n');
            keys.Add('o');
            keys.Add('p');
            keys.Add('q');
            keys.Add('r');
            keys.Add('s');
            keys.Add('t');
            keys.Add('u');
            keys.Add('v');
            keys.Add('w');
            keys.Add('x');
            keys.Add('y');
            keys.Add('z');
        }
    }
}
Добавлено через 6 минут
Чтобы использовать в winForms приложении скопировать все, кроме функции Main и спокойно вызывать DecTo или ToDec.
3
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
02.05.2017, 12:25 7
Подскажите, а как в вашей программе можно оперировать с более весомыми числами, например 9004569898
0
Неадекват
1496 / 1233 / 247
Регистрация: 02.04.2010
Сообщений: 2,804
02.05.2017, 13:40 8
_Faradey, Заменить int на long
1
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
02.05.2017, 13:47 9
Во всем коде? Или где-то конкретно?
И можно ли применить bigInteger?
0
Неадекват
1496 / 1233 / 247
Регистрация: 02.04.2010
Сообщений: 2,804
02.05.2017, 14:16 10
_Faradey, Везде кроме стека (при условии если остаток от деления будет int-совместимым). Можно использовать любой тип если он поддерживает операцию деления и получения остатка от деления.
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
02.05.2017, 14:27 11
Не получается, неудается преобразовать long в int... Может что-то не так делаю?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication32
{
    class Program
    {
        static List<char> keys = new List<char>();
        static Stack<int> stack = new Stack<int>();
 
        static void Main(string[] args)
        {
            InitList();
 
            Console.WriteLine(DecTo(30, 2));
            Console.WriteLine(ToDec("11110", 2));
 
            Console.ReadKey();
        }
 
        static long ToDec(string value, long baseValue)
        {
            var result = 0;
            var pow = value.Length;
 
            foreach (var item in value)
            {
                var number = keys.IndexOf(item);
                result += (number * (long)Math.Pow(baseValue, --pow));
            }
 
            return result;
        }
 
        static string DecTo(long value, long baseValue)
        {
            if (value < baseValue)
            {
                stack.Push(value);
                return string.Join("", Enumerable.Range(0, stack.Count).Select(x => keys[stack.Pop()]).ToArray());
            }
            else
            {
                var tmp = value % baseValue;
                stack.Push(tmp);
                return DecTo(value / baseValue, baseValue);
            }
        }
//...
0
1 / 2 / 3
Регистрация: 24.05.2016
Сообщений: 107
02.05.2017, 15:10 12
C#
1
2
int n = Convert.ToInt32(textBox1.Text, 2); //-воспринимается как будто ты цифры двоичной системы счисления ввёл
label1.Text==ToString(n, 8); //-перевод из двоичной в восьмеричную
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
02.05.2017, 15:14 13
Вопрос в другом.
Как оперировать с большими числами, желательно bigInteger
0
Неадекват
1496 / 1233 / 247
Регистрация: 02.04.2010
Сообщений: 2,804
02.05.2017, 16:22 14
Цитата Сообщение от _Faradey Посмотреть сообщение
Может что-то не так делаю?
Естественно, остаток от деления приводится к максимальному типу, т.е. long, а ты его в int'овый стек пихаешь. Либо явно результат к инту, либо стек лонговый.
0
02.05.2017, 16:22
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
02.05.2017, 16:22
Помогаю со студенческими работами здесь

Перевод числа из двоичной системы счисления в 16-ричную
Добрый день! Как перевести числа из двоичной системы счисления в 16-ричную, не используя...

Перевод из двоичной системы счисления в десятичную или наоборот с массивом
class Program { static void Main(string args) { MyClass write =...

Перевод чисел из двоичной в восьмеричную СС
Составить программу для перевода чисел из двоичной системы счисления в восьмеричную на С#. Ребят,...

Проверить правильность ввода числа в двоичной системе счисления и перевести это число из двоичной системы в десятичную
Здравствуйте! Подскажите, пожалуйста, как исправить код, чтобы выполнялось задание. Делала на...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru