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

перевод из 10сс в 16сс

07.03.2010, 11:03. Показов 3077. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!) Подкиньте пожалуйста прогу перевода из 10сс в 16сс, где
функция находит в строке десятичные константы и заменяет их на шестнадцатеричные с тем же значением, например "aaaaa258xxx" на "aaaaa0x102xxx".
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2010, 11:03
Ответы с готовыми решениями:

Перевод из 10СС в 2,8,16СС.
Не знаю как написать программу на языке си по переводу любого вводимого целого числа в 10 сс(системе счисления) в любую другую 2,8 или...

Перевод из 10 сс в 16сс
Всем добрый вечер! Не могли бы вы мне помочь составь правильный алгоритм или написать основной код по переводу из 10 сс в 16 сс, а то я...

Перевод чисел из 16сс в 8сс
Создать програму перевода из 16ой системы исчисления у 8ую

3
ниначмуроФ
 Аватар для PointsEqual
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
07.03.2010, 15:39
есть какие то наработки?
0
Nick888
09.03.2010, 17:07
Есть парочка, завтра приду домой выложу. Работает, но только глючно, переводит все символы, в том числе и буквы, что как раз и не надо, цифры переводит, но не правильно.

Добавлено через 13 часов 19 минут
Собственно вот:


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
#include <iostream>
using namespace std;
#include <stdio.h>
 
void find(int s[],int B[]) 
{int i,n,m=0,j,a;
for (i=0; s[i]!=0; i++) //цикл просматривает массив
{ if (s[i]>='0' && s[i]<='9') 
{ 
n = s[i];
B[m++]=' ';
for (int nn=n; nn!=0; m++, nn/=16); //Подсчет количества цифр числа
for (j=m-1; n!=0; j--, n/=16) // Получение цифр числа
{
a=n%16; //получение цифр в обратном порядке
if(a<10) B[j]=a+'0'; //Перевод в 16СС до 10
else B[j]=a-10+'A'; //Перевод в 16СС от 10 
}
n=0; B[m++]=' ';
}
else B[m++]=s[i];  
}
B[m++]=0;} 
 
void main(){
    int s[];
    gets (s);
    int B[100];
    find(s, B);
    printf("%s\n", B);
} //вывод обновлённого символьного массива
Добавлено через 10 секунд

Добавлено через 10 часов 14 минут
Гляньте пожалуйста, может найдёте мои ошибки.

Добавлено через 20 часов 54 минуты
Вот исправленный вариант, проблема только в одном, он считает каждый символ, т.е. 258 и разбивает на 2, 5, 8 и считает, а надо что бы считал, как 258.
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
#include <iostream>
using namespace std;
#include <stdio.h>
 
void find(char s[],char B[]) 
{int i,n,m=0,j,a;
for (i=0; s[i]!=0; i++) //цикл просматривает массив
{ if (s[i]>='0' && s[i]<='9') 
{ 
n = s[i];
B[m++]=' ';
B[m++]='0';
B[m++]='x';
for (int nn=n; nn!=0; m++, nn/=16); //Подсчет количества цифр числа
for (j=m-1; n!=0; j--, n/=16) // Получение цифр числа
{
a=n%16; //получение цифр в обратном порядке
if(a<10) B[j]=a+'0'; //Перевод в 16СС до 10
else B[j]=a-10+'A'; //Перевод в 16СС от 10 
}
n=0; B[m++]=' ';
}
else B[m++]=s[i];  
}
B[m++]=0;} 
 
void main(){
    char s[100];
    gets (s);
    char B[100];
    find(s, B);
    printf("%s\n", B);
} //вывод обновлённого символьного массива
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
09.03.2010, 17:30
Стоп. Давай начнём с подсчёта количества цифр числа что-то оно мне не нравится.

C++
1
2
[FONT=monospace]for (int nn=n; nn!=0; m++, nn/=16);
[/FONT]
Объясни мне какая переменная будет вмещать это значение? Переменная mm не может, по-моему, это просто счётсик. Тем более, на этот момент он уже равен 3

Далее, в нашем примере переменная n равна 50. Ты пишешь nn= n, следовательно, приравниваешь nn к 50. Зачем? Для чего? В общем, подробно по этому участку кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2010, 17:30
Помогаю со студенческими работами здесь

Перевод из 10СС
извините за граматику!! как перевести десятичное число у q-систему счисления. например, троичную, пятиричную.q вводить с клавиатуры.и...

Перевод из 2сс в 10сс
Помогите пожалуйста написать программу! Перевод дробной части 2го числа в дробное десятичное! Входное 2ое число константа задается как...

Перевод из 10СС в любую другую
Здравствуйте! Необходим алгоритм, который переведёт число из 10СС в любую другую (до 16). Вот, что у меня получилось: int CC(int a, const...

Перевод из 16СС в 10СС
Доброго времени суток! Использую такую функцию перевода: Function TForm1.Hex2Dec(shex: String): Real; CONST HEX : ARRAY OF...

Перевод чисел с 2 СС в в 10СС, 8СС, 16СС
Здраствуйте всем! Помогите пожалуйста! Мне нужна ваша помощь, нужно Листинг программы для перевода числа из двоичной системы в 10СС,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru