Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/155: Рейтинг темы: голосов - 155, средняя оценка - 4.92
12 / 11 / 5
Регистрация: 04.07.2009
Сообщений: 357
1

Сложение двоичных чисел.

17.01.2010, 17:23. Показов 29217. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Попытался сложить двоичные числа осознаю что ето бред,кто направит на путь истинный?:

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
            int d;
            int k;
            if (!Int32.TryParse(tB1.Text, out d))
            {
                ePr1.SetError(tB1, "Введите число!!!");
                tB3.Text = "";
                return;
            }
            else
            {
                ePr1.SetError(tB1, "");
            }
            if(!Int32.TryParse(tB2.Text,out k))
            {
                ePr1.SetError(tB2, "Введите число!!!");
                tB6.Text = "";
                return;
            }
            else
            {
                ePr1.SetError(tB2, "");
            }
 
            //перовае число
            tB3.Text = "";
            const int n=10;
            int[] mass = new int[10];  //создаём обьект типа массив            
            int i=0;
            do
            {
                mass[i++]=d%2;
                d=d/2;
            }
            while(d>=1);
            for (i = n - 1; i >= 0; i--)
            {
                tB3.Text += mass[i].ToString();
            }
 
            //второе число
            tB6.Text = "";
            const int p = 10;
            int[] mass2 = new int[10];  //создаём обьект типа массив            
            int t = 0;
            do
            {
                mass2[t++] = k % 2;
                k = k / 2;
            }
            while (k >= 1);
            for (t = p - 1; t >= 0; t--)
            {
                tB6.Text += mass2[t].ToString();
            }
 
            //сложение двоичных чисел
            int[] mass3 = new int[0];
            int perem=0;
            int count=0;
            for (i = n - 1; i >= 0; i--)
            {
                for (t = p - 1; t >= 0; t--)
                {
                    count++;
                    mass3[perem] += i + t;
                    if (i == 0 && t == 0)
                    {
                        mass3[perem] = 0;
                    }
                    if ((i == 1 && t == 0)||(t == 1 && i == 0))
                    {
                        mass3[perem] = 1;
                    }
                    if (i == 1 && t == 1)
                    {
                        mass3[perem] = 0;                       
                    }
                    for (i = 0; i < 10; i++)
                    {
                        tB5.Text += mass3[perem].ToString();
                    }
                    
                }
            }
 
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2010, 17:23
Ответы с готовыми решениями:

Сложение чисел из 2-х таблиц
Есть 2 таблицы: в каждой из них имеется по одному полю типа int. Как сделать чтобы числовые данные...

Побитовое сложение 2x чисел на VBScript
Спасибо

Сложение двоичных чисел
Нужно сложить 2 двоичных числа. Написал класс с двумя методами: DecimalToBinary() - преобразует...

Сложение двоичных чисел
Необходимо написать метод, реализующий сложение двоичных чисел. Написала, но работает не совсем...

5
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
17.01.2010, 19:08 2
Что именно тебя интересует?
проблемы с преобразованием или с алгоритмом?
0
10 / 10 / 4
Регистрация: 07.12.2009
Сообщений: 31
17.01.2010, 19:31 3
Чтобы не заморачиваться можно складывать десятичные числа. Процедура для перевода двоичного числа (string) в десятичное (Int32):
C#
1
2
3
4
5
6
7
8
9
static Int32 bin_to_dec(string a)
        {
            double b = 0;
 
            for (double i = a.Length - 1; i >= 0; i--)
                b += Convert.ToDouble(a.Substring(Convert.ToInt16(i), 1)) * Math.Pow(2, i);
 
            return Convert.ToInt32(b);
        }
После сложения двух (?) десятичных чисел вновь переводим их в двоичное представление. Процедура для перевода десятичного числа (Int32) в двоичное (string):
C#
1
2
3
4
5
6
7
8
9
10
11
12
static string dec_to_bin(Int32 a)
        {
            string b = "";
 
            while (a != 0)
            {
                b = (Convert.ToInt16(a % 2)).ToString() + b;
                a /= 2;
            }
 
            return b;
        }
Пример использования:
C#
1
2
3
4
5
6
7
static void Main()
        {
            string str1 = Console.ReadLine(); // <- Первое двоичное число
            string str2 = Console.ReadLine(); // <- Второе двоичное число
            Console.WriteLine(dec_to_bin(bin_to_dec(str1)+bin_to_dec(str2))); // <- Сумма в двоичном виде
            Console.ReadKey();
        }
1
12 / 11 / 5
Регистрация: 04.07.2009
Сообщений: 357
18.01.2010, 00:50  [ТС] 4
gGrn-7DA
С алгоритмом.

ReliableS
Я пытаюсь разобраться поэтому хотелось бы позамарачиваться!И попрактиковаться с массивами заодно,сложение элементов массива...!
0
Заблокирован
18.01.2010, 13:58 5
Все намного проще
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
    class Program
    {
        static void Main(string[] args)
        {
            string s = "10001";
            string s2 = "10101";
            Console.WriteLine("К двоичному числу -> "+ s);
            Console.WriteLine("Прибавить двоичное число -> " + s2);
            int b = Convert.ToByte(s, 2);
            int b2 = Convert.ToByte(s2, 2);
            int b3 = b + b2;
             string s3 = Convert.ToString(b3, 2);
             Console.WriteLine("Получится двоичное число -> " + s3);
             Console.ReadKey();
        }
    }
Добавлено через 29 минут
Так будет получше
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
    class Program
    {
        static void Main(string[] args)
        {
            string s = "100011111";
            string s2 = "10101";
            Console.WriteLine("К двоичному числу -> "+ s);
            Console.WriteLine("Прибавить двоичное число -> " + s2);
            int b = Convert.ToInt32(s, 2);
            int b2 = Convert.ToInt32(s2, 2);
            int b3 = b + b2;
             string s3 = Convert.ToString(b3, 2);
             Console.WriteLine("Получится двоичное число -> " + s3);
             Console.ReadKey();
        }
    }
3
12 / 11 / 5
Регистрация: 04.07.2009
Сообщений: 357
18.01.2010, 14:53  [ТС] 6
ssv_www
щас спасибо по пробую...
0
18.01.2010, 14:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2010, 14:53
Помогаю со студенческими работами здесь

Реализовать сложение двоичных чисел
Задали по курсачу написать прогу на C# которая слаживает двоичные числа, я в C# не силен помогите...

Реализовать сложение двоичных чисел с использванием строк
Сложность в том как реализовать перенос бита static public string AddBinaryNumbers(string...

Сложение двоичных, с плавающей запятой
Целю следующая: составить программу для сложения двоичных чисел с плавающей запятой. В случае...

Калькулятор двоичных чисел
Помогите составить программу на C# калькулятор двоичных чисел (+,-,*,: )


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru