Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
GorinichYa
0 / 0 / 0
Регистрация: 22.05.2015
Сообщений: 86
1

Перевод числа из двоичной системы в шестнадцатиричную

22.05.2015, 17:58. Просмотров 773. Ответов 4
Метки нет (Все метки)

Друзья помогите написать программу перевода вводимого числа из двоичной системы в шеснадцатиричную.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2015, 17:58
Ответы с готовыми решениями:

Перевод числа из двоичной системы счисления в десятичную
Вот пример : void main(void) { unsigned char data = 10000000; unsigned...

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

Перевод из двоичной системы в десятичную
Помогите пожалуйста сделать обратную функции перевода, из двоичной в...

Перевод чисел из двоичной системы в десятичную
#include <stdio.h> #include <math.h> int main() { int j,i,decimal; char...

Перевод из двоичной системы счисления в десятичную
Прошу проверить, похоже ли на правду. #include <stdio.h> int main(void) {...

4
andrejkater
9 / 9 / 7
Регистрация: 04.05.2015
Сообщений: 34
24.05.2015, 23:09 2
GorinichYa, вот тебе пример, использующий аргументы командной строки. На scanf/printf не сложно переделать. Развлекайся:
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 <stdio.h>
#include <stdlib.h>
 
#define BUFLEN 64
 
void
fill_hex(char* dest, const char* source)
{
    int num = atoi(source);
    sprintf(dest, "%x", num);
}
 
int
main(int argc, char** argv)
{
    if (argc > 1) {
        int i;
        for (i = 1; i != argc; ++i) {
            char dest[ 128 ] = {0};
            fill_hex(dest, argv[ i ]);
            printf("[%s] = [%s]\n", argv[ i ], dest);
        }
    }
}
0
Миниатюры
Перевод числа из двоичной системы в шестнадцатиричную  
GorinichYa
0 / 0 / 0
Регистрация: 22.05.2015
Сообщений: 86
25.05.2015, 08:50  [ТС] 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
#include <stdio.h>
#include <stdlib.h>
 
#define BUFLEN 64
 
void
fill_hex(char* dest, const char* source)
{
int num = atoi(source);
scanf(dest, "%x", num);
}
int
main(int argc, char** argv)
{
if (argc > 1) {
int i;
for (i = 1; i != argc; ++i) {
char dest[ 128 ] = {0};
fill_hex(dest, argv[ i ]);
printf("[%s] = [%s]\n", argv[ i ], dest);
}
}
}
0
andrejkater
9 / 9 / 7
Регистрация: 04.05.2015
Сообщений: 34
25.05.2015, 23:15 4
GorinichYa, о, кажется, я тебе дал 10 -> 16. Вот 2 -> 16
Числа вводишь с префиксом '0b'. На пример: '0b0100101' и т.д.
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
58
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define BUFLEN 64
 
int
pull_bin(const char* source)
{
    int result = 0;
    unsigned it;
    unsigned power = 1;
    size_t source_len = strlen(source) - 1;
    if (!source || source_len < 3 || source != strstr(source, "0b")) {
        return 0;
    }
 
    for (it = source_len; it > 1; --it, power *= 2) {
        if (source[ it ] == '1') {
            result += power;
        } else if (source[ it ] == '0') {
            continue;
        } else {
            return 0;
        }
    }
 
    return result;
}
 
void /* 10 to 16 base */
fill_hex(char* dest, int num)
{
    sprintf(dest, "%x", num);
}
 
int
main(int argc, char** argv)
{
    char dest[ BUFLEN ] = {0};
    char inpt[ BUFLEN ] = {0};
 
    puts("enter 'QUIT' to exit");
    do {
        printf("enter your number: ");
        memset(dest, '\0', BUFLEN);
        memset(inpt, '\0', BUFLEN);
        fgets(inpt, BUFLEN, stdin);
        if (strstr(inpt, "QUIT")) {
            break;
        }
        inpt[ strlen(inpt) - 1 ] = 0;
        fill_hex(dest, pull_bin(inpt));
        printf("[%s] = [%s]\n", inpt, dest);
    } while (1);
 
    return 0;
}
0
GorinichYa
0 / 0 / 0
Регистрация: 22.05.2015
Сообщений: 86
26.05.2015, 00:22  [ТС] 5
andrejkater, а можешь написать комментарии к каждой строке то есть разжевать мне
0
26.05.2015, 00:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2015, 00:22

Перевод из десятичной(двоичной) системы счисления в двоичную(десятичную)
Всем добрый день, кто может помочь как можно реализовать данную задачу на С?...

Перевод числа из двоичной в десятичную с.с.
Дана задача: Задано неотрицательное целое число в двоичной системе...

Конвертер перевода из десятичной системы счисления в шестнадцатиричную и двоичную
Здравствуйте !.Помогите пожалуйста написать программу перевода Десятичной СС в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru