Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
26 / 26 / 22
Регистрация: 08.06.2013
Сообщений: 106
1

Шестнадцатеричная чисельная система

21.09.2014, 11:50. Показов 1014. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать программу для перевода с 10-знаковой системы в 16. Хочу делать по такому плану: если остаток от деления [0-9], то просто записывать его, а если [10-14] - сделать разветвление и присваивать значение "A-E". Проблема в том, что не знаю, как лучше написать код такого плана
C++
1
next_zn[i-1] = a % 2
Если next_zn делать целочисельный, то для 10-14 ничего не будет работать, а если делаю char, то вместо цифр выдает какие-то смайлики.Думаю, что есть способы лучше, нежели делать 2 массива. Помогите, пожалуйста, конкретно с этой проблемой, задачу решить хочу именно своей идеей, пусть она и не совсем рациональна
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2014, 11:50
Ответы с готовыми решениями:

Шестнадцатеричная система
Задано шестнадцатеричное число. Напечатать таблицу умножения в шестнадцатеричной системе счисления...

Шестнадцатеричная система счисления
Возможно ли такое в шестнадцатирично системе... что значение без букв???? Так как остатки не...

Для чего используется шестнадцатеричная система счисления?
Всем привет, заметил что в больших проектах часто вместо записи обычных чисел их прописывают в...

Записать hex( шестнадцатеричная система счисления ) код файла в блокнот
Здравствуйте, как записать hex код файла в блокнот ? Добавлено через 24 минуты проблема решена.

3
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
21.09.2014, 12:02 2
Цитата Сообщение от Virts Посмотреть сообщение
если остаток от деления [0-9], то просто записывать его, а если [10-14] - сделать разветвление
Заводится строка
C++
1
const char* hex = "0123456789ABCDEF";
И просто берется ее элемент по индексу, который есть остаток.
1
26 / 26 / 22
Регистрация: 08.06.2013
Сообщений: 106
21.09.2014, 22:23  [ТС] 3
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
#include "stdafx.h"
#include <clocale>
#include <iostream>
using namespace std;
 
int array[1000], system_sch;
unsigned long long N;
 
int main()
{
    setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали****
    
    cout << "Введите N (десятичный формат) {10^20>=N>0}, при N>10^15 возможна погрешность \n: ";
    cin >> N;
    cout << "\nДля перевода N в чисельный формат 2,3,8 или 16 \nнажмите соответствующую цифру" << endl;
    cout << "Select the system: "; 
    cin >> system_sch;
    if(system_sch != 16 && system_sch != 2 && system_sch !=3 && system_sch != 8)
    {
    cout << "Введено неверное значение системы счисления\n";
    cin.get();
    return 0;
    }
    
        int x1 = 0;
        for(int i = 1; N>0; i++) 
        {
        array[i-1] = N % system_sch;
        N = N / system_sch; x1 += 1;
        }
        for(int i = x1; i>0; i--)
            if(system_sch >=2 && system_sch<=9) 
        cout << array[i-1];
            else if(system_sch == 16)
        cout << hex << array[i-1];
        cout << endl;
 
    return 0;
}
upd не актуально, разобрался сам
0
Модератор
Эксперт по электронике
8946 / 6712 / 921
Регистрация: 14.02.2011
Сообщений: 23,682
21.09.2014, 22:30 4
Цитата Сообщение от Virts Посмотреть сообщение
если остаток от деления [0-9], то просто записывать его, а если [10-14] - сделать разветвление и присваивать значение "A-E".
нахрена козе баян
C++
1
2
3
4
5
char с;
if(n<10)
  c=n+'0';
else
 c=n+'A'-10;
но все уже украдено до нас
C++
1
cout<<hex<<n;
или
C++
1
printf("%x",n);
0
21.09.2014, 22:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2014, 22:30
Помогаю со студенческими работами здесь

Шестнадцатеричная цифра
как вывести k-ую справа шестнадцатеричную цифру целого положительного числа на экран в десятичной...

Шестнадцатеричная система
Помогите,пожалуйста,рассчитать и представить результат в шестнадцатеричной системе : ...

Как и зачем в С# используется шестнадцатеричная система счисления?
Часто встречаю код такого вида private const int APPCOMMAND_VOLUME_MUTE = 0x80000; ...

Шестнадцатеричная запись
Добрый день. Зачем при записи числа в 16ричной системе счисления писать 0x в начале числа?...

Определить количество простых чисел, не превосходящих заданное число (N<16000), шестнадцатеричная форма записи которых является палиндромом
Помогите написать программу. Задача: Определить количество простых чисел, не превосходящих...

Файловая система и система управления вводом-выводом в ОС Linux
Дали задание написать вот что: &quot;Разработать программу, которая выводит на экран содержимое...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru