Содержание
Поставить LIKE | и поделиться ссылкой |
Ура. Вам стало интересно как получилось данное число Вы ввели число: в системе счисления и хотите перевести его в .
Калькулятор перевода чисел имеет одно поле для ввода. В это поле необходимо ввести число которое Вы хотите перевести. После этого Вам обязательно нужно указать в какой системе счисления Вы его ввели. Для этого под полем ввода есть графа "Его система счисления". Если Вы не нашли своей системы, то выберите графу "другая" и появится поле ввода . В это поле необходимо вписать основание системы одним числом без пробелов. После нажмите кнопку "ПЕРЕВЕСТИ" и результат появится в соответствующем поле. Если Вы хотите получить подробный ход решения, то нажмите на соответствующую ссылку. Научиться переводить число из одной системы счисления в другую очень просто. Любое число может быть легко переведено в десятичную систему по следующему алгоритму: Каждая цифра числа должна быть умножена на основание системы счисления этого числа возведенное в степень равное позиции текущей цифры в числе справа налево, причём счёт начинается с 0. Я полный новичок в программировании на C ++. Мне дали задание кодировать десятичное в шестнадцатеричное преобразование. Это то, что я сделал до сих пор. Он дает ответ в обратном порядке, как если бы я ввел десятичное число ‘650’, он дает шестнадцатеричное значение A82 когда ответ должен быть 28A , Может кто-нибудь предложить, что я должен сделать, чтобы исправить это? РешениеСамое простое решение: Исправление вашего алгоритма — используйте рекурсию: Другие решенияКонечно, это дает ответ в обратном направлении. Ваша программа начинает анализировать заданное десятичное число «начиная со спины». Чтобы быть конкретным, вы конвертируете число, начиная с наименее важный цифры. После обработки каждой цифры вы выводите ее немедленно. Таким образом, вы сначала выводите наименее важные цифры, но как шестнадцатеричная, так и десятичная системы представляют числа, начиная с самых важных. Другими словами, если ваш номер XYZ в шестнадцатеричном (который представляет 16^2 * X + 16^1 * Y + 16^0 * Z в десятичном виде), вы выводите его как ZYX , Попробуйте сохранить все цифры в строке, добавив новые цифры в начале: Если единственное неправильное состоит в том, что выходные данные находятся в обратном порядке того, что вы хотите, вы можете вместо этого поместить выходные данные в контейнер. Затем измените порядок вывода в контейнере, прежде чем распечатать его. Один из способов сделать вывод в контейнер — это отправить ваш вывод stringstream , Самый простой способ: положить его в строку: Решение, если вы хотите преобразовать из десятичного в двоичное (база 2), шестнадцатеричное (база 16) и т. Д.! Шестнадцатеричная система счисления – это система счисления по основанию 16. Это означает, что в системе используются 16 символов: цифры от 0 до 9 и буквы A, B, C, D, E, F. Преобразовать десятичное число в шестнадцатеричное труднее, чем шестнадцатеричное в десятичное. Сначала уясните процесс преобразования, а потом приступайте к нему – это позволит избежать ошибок. |