Реализовать набор подпрограмм для выполнения операций над числами в шеснадцатеричной СС - 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д