Перевести числа в десятичную систему счисления, сложить и вывести в шестнадцатиричном виде - C#
Формулировка задачи:
Переведите следующие числа в десятичную систему счисления: а) 1100111011(2); б) 10000000111(2); в) 10110101,1(2); г) 100000110,10101(2); д) 671,24(8); е) 41A,6(16).
Сложите числа под номером а) и д). Результат представьте в шестнадцатеричной форме
Будьте добры, люди, напишите консольное приложение, которое это производит.
Решение задачи: «Перевести числа в десятичную систему счисления, сложить и вывести в шестнадцатиричном виде»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Notations { class Program { static void Main(string[] args) { double result = ToDecimal("1100111011", 2) + ToDecimal("671,24", 8); string[] resultParts = result.ToString().Split('.'); Console.WriteLine("result : {0:X},{1:X}", int.Parse(resultParts[0]), int.Parse(resultParts[1])); Console.ReadLine(); } public static double ToDecimal(string binary, byte notation) { char[] intPart; int counter = 0; if (binary.Contains(',')) { string[] value = binary.Split(','); intPart = value[0].ToArray(); char[] realPart = value[1].ToArray(); counter = 0; double result = intPart.Reverse().ToList(). Select(x => HexNumbersToDecimel(x) * Math.Pow(notation, counter++)).Sum(); counter = 0; double y = realPart.Reverse(). Select(x => HexNumbersToDecimel(x) * Math.Pow(notation, counter++)).Sum(); result += y / Math.Pow(10, y.ToString().Length); return result; } else { intPart = binary.ToArray(); counter = 0; return (int)intPart.Reverse(). Select(x => HexNumbersToDecimel(x) * Math.Pow(notation, counter++)).Sum(); } } private static int HexNumbersToDecimel(char symbol) { if (char.IsNumber(symbol)) return int.Parse(symbol.ToString()); else switch (char.ToUpper(symbol)) { case 'A': return 10; break; case 'B': return 11; break; case 'C': return 12; break; case 'D': return 13; break; case 'E': return 14; break; case 'F': return 15; break; } return 0; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д