Реализовать набор подпрограмм для выполнения операций над числами в шеснадцатеричной СС - C#
Формулировка задачи:
Доброго времени суток. Задача - неабходимо реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в шеснадцатеричной системе счисления:
1) Сложения;
2) Вычитания;
3) Умножения;
4) Деления;
5) Перевода из двоичной системы счисления в шеснадцатеричную;
6) Перевода из шеснадцатиричной системы счисления в десятичную;
7) Функции проверки правильности записи числа в шеснадцатеричной системе счисления;
8) Функции реализующие операции отношения;
Простите за дурацкий лексикон и незнание основ, но
вопрос - как следует реализовать код, что бы Шарп понимал, что я работаю именно с шеснадцатеричной сс, подходил к преподу с вопросом, а можно ли переводить числа введеные скажем в text box в 10ю сс, проводить с ними необходимые операции, а затем снова переводить в 16ю сс...и затем уже выводить результат...на что она сообщила что "перехитрить самого себя" мне не удастся и что бы модуль работал именно с 16й сс...помогите, с чего начать? От чего отолкнуться?
Работает с 10й сс
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Linq; using System.Text; using System.Collections; namespace ModOperaciy { public class Class1 { public static int SummaFunc(int x, int y) { return (x + y); } public static int RaznostFunc(int x, int y) { return (x - y); } public static int ProizvedenieFunc(int x, int y) { return (x * y); } public static int ChastnoeFunc(int x, int y) { return (x / y); } public static string Otnoshenye(int x, int y, string z) { if (x == y) z = "числа равны"; else if (x > y) z = x + " больше"; else if (x < y) z = y + " больше"; return z; } public static long ToDec(string value, int fromBase) //Перевод в десятичную { const string TABLE = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; long rank = 1, result = 0; for (var i = value.Length - 1; i >= 0; i--) { var index = TABLE.IndexOf(value[i]); result += rank * index; rank *= fromBase; } return result; } public static string DecToHex(int chislo) //Перевод из десятичной системы в шестнадцатеричную { string hout = "", b = ""; int q; while (chislo > 0) { q = chislo % 16; chislo = chislo / 16; if (q >= 0 && q < 10) b = q.ToString(); else if (q == 10) b = "A"; else if (q == 11) b = "B"; else if (q == 12) b = "C"; else if (q == 13) b = "D"; else if (q == 14) b = "E"; else if (q == 15) b = "F"; hout =hout + b; } return new string(hout.ToCharArray().Reverse().ToArray()); } } }
Решение задачи: «Реализовать набор подпрограмм для выполнения операций над числами в шеснадцатеричной СС»
textual
Листинг программы
{ // string s1 = "0xa"; // string s2 = "0xa"; string s1 = Console.ReadLine(); string s2 = Console.ReadLine(); int a, b; a = int.Parse(s1); b = int.Parse(s2); Console.WriteLine("0x{0}", Convert.ToString(a + b, 16)); Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д