Форум программистов, компьютерный форум CyberForum.ru

Перевод из десятичной системы в 2, 8, 16 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.72
сашк
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 111
04.03.2010, 15:16     Перевод из десятичной системы в 2, 8, 16 #1
Ребяты помогите пожалуйста написать программу, которая преобразует введенное число в десятичной системе, затем мы вводим в какую систему счисления нужно перевести, если мы вводим 2, то в двоичную, если вводим 8, то в восьмиричную, если вводим 16, то в шестнадцатиричную, помогите пожалуйста, есди вам не трудно((((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.03.2010, 15:26     Перевод из десятичной системы в 2, 8, 16 #2
Воспользуйся поиском!!!
сашк
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 111
04.03.2010, 15:27  [ТС]     Перевод из десятичной системы в 2, 8, 16 #3
я искал, но там нету((( там совсем другое
kuroiryuu
 Аватар для kuroiryuu
311 / 295 / 23
Регистрация: 05.11.2009
Сообщений: 698
Завершенные тесты: 2
04.03.2010, 15:34     Перевод из десятичной системы в 2, 8, 16 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
..............
char buff[2048];
 
itoa(10,buff,2);
printf("%s\n",buff);
 
itoa(10,buff,8);
printf("%s\n",buff);
 
itoa(10,buff,16);
printf("%s\n",buff);
..............
PS подключите stdlib.h
сашк
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 111
04.03.2010, 15:38  [ТС]     Перевод из десятичной системы в 2, 8, 16 #5
блин, не понятно, можешь комментарии написать, и код сам))) а то ваще нуль в си((
kuroiryuu
 Аватар для kuroiryuu
311 / 295 / 23
Регистрация: 05.11.2009
Сообщений: 698
Завершенные тесты: 2
04.03.2010, 15:47     Перевод из десятичной системы в 2, 8, 16 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 
int main()
{   
    int num;//число которое необходимо перевести
    char buff[2048];//результат будет помещён сюда 
 
    printf("Введите число: ");
    scanf("%d", &num);
    itoa(num,buff,2);// перевод в двоичную систему
    printf("Двоичная система: %s\n",buff);
 
    itoa(num,buff,8);//перевод в восьмеричную систему
    printf("Восьмеричная система: %s\n",buff);
 
    itoa(num,buff,16);//перевод в шеснадцатиричную систему
    printf("Шеснадцатиричная система: %s\n",buff);
 
    return 0;
}
В принципе всё...
сашк
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 111
04.03.2010, 17:02  [ТС]     Перевод из десятичной системы в 2, 8, 16 #7
о круто, такая короткая программа, спасибо, а можешь написать используя switch, case, если математические опреции всякие использовать?

Добавлено через 14 минут
блин нужно сделать без стандартных функций перевода, через математические преобразования(( помогите пожалуйста

Добавлено через 56 минут
а все я понял как делать)))))
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
04.03.2010, 19:53     Перевод из десятичной системы в 2, 8, 16 #8
Цитата Сообщение от сашк Посмотреть сообщение
я искал, но там нету((( там совсем другое
да ну?!
smile2me
0 / 0 / 0
Регистрация: 05.04.2010
Сообщений: 6
05.04.2010, 23:20     Перевод из десятичной системы в 2, 8, 16 #9
А если требутся вывести 8-ый и 16-ый код любого символа вводимого с клавиатуры
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
06.04.2010, 09:38     Перевод из десятичной системы в 2, 8, 16 #10
Цитата Сообщение от smile2me Посмотреть сообщение
А если требутся вывести 8-ый и 16-ый код любого символа вводимого с клавиатуры
C
1
2
3
4
5
...
unsigned val;
scanf("%u", &val);
printf("%#o\n%#x\n", val, val);
...
smile2me
0 / 0 / 0
Регистрация: 05.04.2010
Сообщений: 6
07.04.2010, 00:38     Перевод из десятичной системы в 2, 8, 16 #11
Очень признательна))
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
07.04.2010, 00:56     Перевод из десятичной системы в 2, 8, 16 #12
smile2me, но так числа выводятся. Если нужны коды символов, то вот:
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main(void){
    int c;
    printf("Write some character and press <enter> or Ctrl+C for quit\n");
    while ( ( c = getchar() ) != EOF )
        if ( c != 0xa )
            printf("%#o\n%#x\n", c, c);
    return 0;
}
smile2me
0 / 0 / 0
Регистрация: 05.04.2010
Сообщений: 6
07.04.2010, 14:06     Перевод из десятичной системы в 2, 8, 16 #13
Очень-очень признательна!
harddisky
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4
06.11.2010, 18:09     Перевод из десятичной системы в 2, 8, 16 #14
easybudda, огромное спасибо а вы не могли бы написать обратный код для последней операции.
тоесть вводим код символа - получаем символ соответствующий этому коду.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
06.11.2010, 19:45     Перевод из десятичной системы в 2, 8, 16 #15
Цитата Сообщение от harddisky Посмотреть сообщение
вводим код символа - получаем символ соответствующий этому коду.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <ctype.h>
 
int main(void){
    int code;
    
    printf("Enter some char codes or 0 for quit:\n");
    while ( printf("> ") && scanf("%d", &code) == 1 && code ){
        if ( isprint(code) )
            printf("code: %d\tsymbol: '%c'\n", code, code);
        else
            printf("wrong code!\n");
    }
    
    return 0;
}
harddisky
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4
06.11.2010, 21:45     Перевод из десятичной системы в 2, 8, 16 #16
Премного благодарствую
harddisky
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4
08.11.2010, 20:20     Перевод из десятичной системы в 2, 8, 16 #17
Easybudda. Извените. я протестировал программу и коды выдаваемые первой программой не совпадают с кодами символов через вторую программу=\\\
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
08.11.2010, 23:09     Перевод из десятичной системы в 2, 8, 16 #18
Цитата Сообщение от harddisky Посмотреть сообщение
Easybudda. Извените. я протестировал программу и коды выдаваемые первой программой не совпадают с кодами символов через вторую программу
Что с чем не совпадает? Одна программа читает символы и выводит их коды в восьмеричном и шестнадцатиричном виде, вторая читает коды символов в привычной людям десятиричной СС и выводит сами символы...
Привели бы обе программы к общему знаменателю - либо считывать 8/16-ричные коды, либо выводить 10-ричные, всё бы получилось...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <ctype.h>
 
int main(void){
    int c;
    
    printf("Write some character and press <enter>\n");
    while ( ( c = getchar() ) != EOF && c != 0xa )
        printf("%d\n", c, c);
    
    printf("Enter some char codes or 0 for quit:\n");
    while ( printf("> ") && scanf("%d", &c) == 1 && c ){
        if ( isprint(c) )
            printf("code: %d\tsymbol: '%c'\n", c, c);
        else
            printf("wrong code!\n");
    }
 
    return 0;
}
Перевод из десятичной системы в 2, 8, 16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2010, 14:22     Перевод из десятичной системы в 2, 8, 16
Еще ссылки по теме:

Перевод из десятичной системы счисления в двоичную в массиве C++
Перевод числа из десятичной системы счисления в двоичную C++
Перевод вещественного числа из десятичной системы в восьмеричную C++

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

Или воспользуйтесь поиском по форуму:
harddisky
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4
14.11.2010, 14:22     Перевод из десятичной системы в 2, 8, 16 #19
А извините пожалуйста я чтото заплыл просто...я не слишком силен в с++)))
Yandex
Объявления
14.11.2010, 14:22     Перевод из десятичной системы в 2, 8, 16
Ответ Создать тему
Опции темы

Текущее время: 13:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru