Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/26: Рейтинг темы: голосов - 26, средняя оценка - 4.58
0 / 0 / 1
Регистрация: 15.11.2009
Сообщений: 18

Перевод числа в строку

22.11.2009, 09:21. Показов 5417. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу по программированию.

Напишите функцию itox (int n, char s[]), которая переводит целое n в строку s, представляющее число n в шестнадцатеричном виде.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2009, 09:21
Ответы с готовыми решениями:

Перевод числа в строку
Подскажите пожалуйста: 1) Каким образом переводится число в строку 2) Как записывается число начиная с последнего символа(задом на...

Перевод из числа в строку
Доброго времени суток, уважаемые! Интересует такой вопрос: есть ли в языке C++ оператор перевода из числа в строку. Раньше изучал...

Перевод числа в строку
составить строковую функцию num_to_str(n) где n целое число ( |n|<1000). возвращаемое значение должно быть строкой в которой число n...

4
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
22.11.2009, 09:46
при желании лишнии нули можно убрать

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
 
//-----------------------------------------------------------------------------
// Функция:      Coding_ASCII
// Описание:    перевод 10го значения в  ASCII код 
// Параметры:   10ое значение
// Значение:        ASCII код
//-----------------------------------------------------------------------------
char Coding_ASCII(int nibble_Dec)
{
    char nibble_ASCII;  
 
    switch(nibble_Dec&0xf)      // перевод символа в ASCII код
    {
    case  0:    nibble_ASCII='0';       break;
    case  1:    nibble_ASCII='1';       break;
    case  2:    nibble_ASCII='2';       break;
    case  3:    nibble_ASCII='3';       break;
    case  4:    nibble_ASCII='4';       break;
    case  5:    nibble_ASCII='5';       break;
    case  6:    nibble_ASCII='6';       break;
    case  7:    nibble_ASCII='7';       break;
    case  8:    nibble_ASCII='8';       break;
    case  9:    nibble_ASCII='9';       break;
    case  10:   nibble_ASCII='A';       break;
    case  11:   nibble_ASCII='B';       break;
    case  12:   nibble_ASCII='C';       break;
    case  13:   nibble_ASCII='D';       break;
    case  14:   nibble_ASCII='E';       break;
    case  15:   nibble_ASCII='F';       break;
    default:    nibble_ASCII='?';
    }
    return nibble_ASCII;
}   // end
 
 
void itox (int n, char s[])
{
    int cnt=0;
    if (n<0)    { s[cnt++]='-'; n=-n;}
 
    s[cnt++]='0';s[cnt++]='x';
 
    for (int i=8; --i>=0;)  s[cnt++]=Coding_ASCII(n>>i*4);
    s[cnt]='\0';
} // end itox
 
int main(void)
{
    const int n=256;
    char s[12];
    itox (n, s);
 
    std::cout<<"n: "<<n<<" s16: "<<s<<std::endl;
    system("PAUSE");
    return 0;
}
1
0 / 0 / 1
Регистрация: 15.11.2009
Сообщений: 18
22.11.2009, 20:52  [ТС]
программа отличная но слишком продвинутая

а можно без использования функции Coding_ASCII все встроить в itox (int n, char s[])?
а можно как нибудь пристроить код из программы ниже в функции itox

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
#include <iostream.h>
#include <conio.h>
// print: печать val в системе счисления с основанием base
void print(int val, int base = 10)
{
    if(val < 0){ 
        cout.put('-'); 
        print(-val, base);
        }
    if(val / base > 0)              // Если число многозначное
        print(val/base, base);          // печатать старшие цифры
    int r = val % base;         // Остаток от деления
    if(r < 10)
                cout.put('0'+r);
    else
        cout.put('A'+r-10);
    }
void main() {
        print(31); cout.put(' '); // По умолчанию base = 10
        print(31,10); cout.put(' ');
        print(31,16); cout.put(' ');
        print(31,2); cout.put('\n');
        getch();
}
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
22.11.2009, 21:45
rkiller, так не подойдёт?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main(){
    int a;
    char str[BUFSIZ];
 
    while ( 1 ) {
        printf("Enter some number (0 for exit): ");
        scanf("%d", &a);
        if ( !a )
            break;
        /* в строку, так в сторку */
        sprintf(str, "0x%X", a);
        printf("%s\n", str);
    }
    
    return 0;
}
Вот ещё из личных запасов
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
/* revstr - строка наоборот */
char *revstr(char *s){
        char *h, *t, c;
        if ( !s || !(*s) )
            return NULL;
        h = s; /* head */
        t = h + strlen(s) - 1; /* tail */
        
        while ( h < t ){
                c = *h;
                *h = *t;
                *t = c;
                h++;
                t--;
        }
        
        return(s);
}
 
/* возвращает в buf строку не длиннее len - 1 символов, представляющую число val в CC с основанием base, или NULL при неудаче */
char *itoan(char *buf, int len, unsigned int val, int base){
        static char num[] = "0123456789abcdefghijklmnopqrstuvwxyz";
        char *str = buf;
 
        if ( (base < 2) || (base > 36) )
                return(NULL);
        
        while ( val ){
                if ( --len < 1 )
                        return(NULL);
                *buf++ = num[val % base];
                val /= base;
        }
        *buf = '\0';
        return(revstr(str));
}
0
0 / 0 / 1
Регистрация: 15.11.2009
Сообщений: 18
22.11.2009, 22:08  [ТС]
Мне бы лучше использовалось cout.put('A'+r-10) для преобразования в буквы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2009, 22:08
Помогаю со студенческими работами здесь

Перевод из числа в строку
Подскажите, пожалуйста, как мне число 1 записать в строку как символ &quot;1&quot;?

Перевод из числа в строку
Решил написать простую программу,переводящую число int-е в массив символов. Проблема в том,что когда мы вызываем ее так,что число...

Перевод вещественного числа в строку!
вообщем проблема такова!делаю программу для определения скорости мыши,после того как сделал кое какие обработки событий получается...

Перевод числа в строку и обратно
Какие есть ф-ции для перевода числа в строку и обратно? и можно-ли их будет записывать через getline() ? Например строка hello45who не...

Перевод строки в число и числа в строку
Здравствуйте, нужен алгоритм перевода числа в строку и обратно или библиотека , хочу написать перевод десятичного числа в двоичное, спасибо


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru