Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/37: Рейтинг темы: голосов - 37, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 4
1

Как перевести из 10-ричной в 16-ричную СС

06.05.2012, 13:43. Просмотров 6962. Ответов 4
Метки нет (Все метки)

Как не пробовал, не получается(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2012, 13:43
Ответы с готовыми решениями:

Нужно ввести число в 23-ричной системе счесления и перевести в 10-ричную
Помогите сделать лабу на C# Нужно ввести число в 23-ричной системе исчесления и чтобы программа...

Перевод из 10-ричной в 8-ричную!
Доброго времени суток! Помогите решить задачку! Напишите программу, которая проверяет вторую...

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

Как перевести строку с 16-ричной записью символа юникода в сам символ
Как перевести строку с 16-ричной записью символа юникода в сам символ? т.е. на входе есть string...

4
Эксперт .NET
14597 / 11020 / 2906
Регистрация: 17.09.2011
Сообщений: 18,548
06.05.2012, 13:56 2
C#
1
string hex = Convert.ToString(1234, 16);
0
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 4
06.05.2012, 14:22  [ТС] 3
Без Convert можно? Стоит условие, не использовать эту функцию
0
Злой няш
1946 / 1382 / 507
Регистрация: 05.04.2010
Сообщений: 2,626
06.05.2012, 14:50 4
C#
1
2
3
4
5
6
7
8
9
10
11
public static string ConvertToHex(int number)
{
    var table = new[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
    var hex = new StringBuilder();
    while (number != 0)
    {
        hex.Insert(0, table[number % 16]); // В идеале: number & 0xF
        number /= 16; // В идеале так: number >>= 4;
    }
    return hex.ToString();
}
1
27 / 27 / 10
Регистрация: 10.03.2012
Сообщений: 249
06.05.2012, 15:29 5
Пишу калькулятор, где исполюзую свой класс:

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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
class MyConverter
        {
            
            private double result;
 
            public MyConverter()
            {               
            }
 
            public double isInteger(double digit)
            {
                bool positive = true;
                string buff = "";
                if (digit == 0) return 0;
                if (digit < 0) positive = false;
                while (Math.Abs(digit) >= 2)
                {
                    buff += Convert.ToString(Math.Abs(digit) % 2);
                    digit = Math.Truncate(Math.Abs(digit) / 2);
                }
                buff += "1";
 
                char[] arr = buff.ToCharArray();
                Array.Reverse(arr);
                buff = new string(arr);
                result = Convert.ToDouble(buff);
                if (positive)
                { return result; }
                else return -result;
 
            }
            private double isDouble(double digit)
            {
 
                double real = 0;
                double fractional = 0;
                string buff = "";
                int index = 0;
                bool positive = true;
                if (digit < 0) { positive = false; digit = Math.Abs(digit); }
                real = (int)digit;
                fractional = digit - real;
 
                double start = fractional;
               
                while (Math.Abs(fractional) > 0)
                {
                    fractional = fractional * 2;
                    buff += Convert.ToString((int)fractional);
 
                    fractional = fractional - (int)fractional;
 
                    if (fractional >= start && fractional <= start + 0.005) index++;
                    if (index > 0) break;
                }
                string _else = "";
 
 
                _else += Convert.ToString(isInteger(real)) + "," + buff;
                if (!positive)
                { return -1 * Convert.ToDouble(_else); }
                else
                {
                    return Convert.ToDouble(_else);
                }
            }
            public double DecimalToBinarySystem(double digit)
            {               
                if (digit % 1 != 0 ) digit = (int) digit;
                if (digit < 0) digit *= -1;
                   return isInteger(digit);
            }
 
            public double BinaryToDecimalSystem(double digit)
            {
                if (digit % 1 != 0) digit = (int)digit;
                if (digit < 0) digit *= -1;
                double result = 0;
                char[] arr = new char[digit.ToString().Length];
                arr = digit.ToString().ToCharArray();
                int pow = arr.Length - 1;
 
                for (int i = 0; i < arr.Length; i++)
                {
                    result += Convert.ToDouble(arr[i].ToString()) * Math.Pow(2, pow);
                    pow--;
                }
                return result;
            }
 
            public string DecimalToHexadecimalSystem(double digit)
            {
                bool positive = true;
                if (digit < 0) { digit = Math.Abs(digit); positive = false; }
                string _result = "";
                double remainder = 0;
                double real = 0;
                real = (int)digit;
 
                if (real >= 0 && real <= 9)
                {
                    _result += real.ToString(); return _result;
                }
                if (real >= 10 && real <= 16)
                {
                    switch (real.ToString())
                    {
                        case "10":
                            { _result += "A"; return _result; }
                        case "11":
                            { _result += "B"; return _result; }
                        case "12":
                            { _result += "C"; return _result; }
                        case "13":
                            { _result += "D"; return _result; }
                        case "14":
                            { _result += "E"; return _result; }
                        case "15":
                            { _result += "F"; return _result; }
                        case "16":
                            { _result += "10"; return _result; }
                    }
                }
                while (real > 0)
                {
                    remainder = real % 16;
 
                    if (remainder >= 0 && remainder <= 9) _result += remainder.ToString();
                    else if (remainder >= 10 && remainder <= 16)
                    {
                        switch (remainder.ToString())
                        {
                            case "10":
                                { _result += "A"; break; }
                            case "11":
                                { _result += "B"; break; }
                            case "12":
                                { _result += "C"; break; }
                            case "13":
                                { _result += "D"; break; }
                            case "14":
                                { _result += "E"; break; }
                            case "15":
                                { _result += "F"; break; }
                            case "16":
                                { _result += "10"; break; }
                        }
                    }
                    real = (real - remainder) / 16;
                }
                char[] arr = _result.ToCharArray();
                Array.Reverse(arr);
                _result = new string(arr);
                if (!positive) { _result = "-" + _result; }
                return _result;
            }
        }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2012, 15:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как перевести число из 5-ричной в 9-ричную?
Привет всем. Как перевести число из 5-ричной в 9-ричную? Число 2345 -&gt; ? 9

Из 13-ричной системы перевести в 8-ричную
Доброго времени суток форумчане. Есть вопрос:Помогите пожалуйста с система счиления, нужно из...

Перевести число из 4-ричной системы счисления в 18-ричную и наоборот
Перевести число из 4-ричной системы счисления в 18-ричную и наоборот

Функция перевода из 10-ричной СС в 80-ричную СС
Здравствуйте, как реализовать функцию перевода из 10-ричной СС, в 80-ричную СС ? подход перевода...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.