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

Перевод числа из двоичной в десятичную и наоборот. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание файла http://www.cyberforum.ru/cpp-beginners/thread17001.html
Я гляжу тут все интузиасты! Тогда такой вопрос: работал в техноре с С++ но не когда не доводилось работать с файлами! Но в данный момент понадобилось! Мне необходимо: при первом запуске...
C++ Распознать строку в переменную типа int сорри если такие были задачи но,по поисковику слишком долго искать, 1)На входе строка с числом в шестнадцатиричной форме. Распознать строку в переменную типа int. На выходе строки с введенным числом... http://www.cyberforum.ru/cpp-beginners/thread16978.html
Где взять библиотеку tv.lib? C++
А то ругается Borland 3.1: "Linker error: unable to open tv.lib file"; если в Linker\settings отключаю turbo vision - вообще пишет "Программа совершила недопустимую операцию и будет закрыта"! %)
C++ Ошибки в Borland C++ version 3.1
Borland C++ version 3.1 выдаёт ошибки типа undefined symbol на функции: initgraph, graphresult, closegraph, putpixel, color и т.д. Я так понимаю, какой-то косяк с графическим режимом? Что делать?...
C++ Unable to open include file 'stdio.h' http://www.cyberforum.ru/cpp-beginners/thread16951.html
Помогите, пожалуйста, с такой проблемой. В институте работаем с Borland C++ version 3.1. Скачала его на домашний компутер, - и ничего не работает. А именно: находит ошибки уже в первых строчках,...
C++ Как запустить приложение на C++ без установки C++? Если написать какую-то прогу на с++ builder 6, скомпилить её в exe. А потом запустить на другом компе, то она не запускается. Похоже нехватает библиотек. Какие галки надо проставить что-бы прога... подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.12.2008, 02:06
Код
#include <stdio.h>
#include <string.h>

/* пример преобразования чисел из одной системы счисления в другую */
main()
{
    long bintodec(char *);
    char *dectobin(long);
    
    char *bin = "000100";
    long dec = 32;
    
    printf("%ld\n", bintodec(bin));
    printf("%s\n", dectobin(dec));
    return 0;
}

/* bintodec:  переводит строку s из двоичной системы в десятичную */
long bintodec(char *s)
{
    long n;
        
    while (*s == '0')
        s++;
    if (strlen(s) > 32)
        return EOF;
    else if (*s == '\0')
        return 0;
    for (n = 0; *s != '\0'; s++) {
        if (*s == '0')
            continue;
        else if (*s != '1')
            return EOF;
        n += 01 << (strlen(s)-1);
    }
    return n;    
}

#define MAXINT  32    /* максимальное количество разрядов */

/* dectobin:  переводит число n из десятичной системы в двоичную */
char *dectobin(long n)
{
    static char line[MAXINT+1], *p = line;
    int i;
    
    sprintf(line, n < 0 ? "-1" : "0");
    for (i = 0; (n >> i) > 0; i++, *++p = '\0')
        ;
    for (i = 0; (n >> i) > 0; i++)
        *--p = ((n >> i) & 01) ? '1' : '0';
    return line;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru