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

Перевод чисел в определённую систему - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблема с чтением из файла http://www.cyberforum.ru/cpp-beginners/thread49511.html
Подскажите пожалуйста в чем ошибка? Чтения не происходит. Нули в массиве как были, так и остаются. первый раз работаю в Visual, может быть тут какие-то тонкости в этом плане? #include "stdafx.h" #include <windowsx.h> #include <AtlConv.h> #include <conio.h> FILE *fp; int coordinate; void vvod_koordinat() { char name_of_file;
C++ Препроцессор Профессионалы, ответте вот на какой вопрос: Мне необходимо получить файл, который образуется после обработки препроцессором, т.е. после замены всех #define, #include и т.д. и т.п. Использую MS VS 2008. Где мне в нем поменять настройки (задать команды может быть или еще что-нибудь) чтобы этот файл можно было просмотреть? http://www.cyberforum.ru/cpp-beginners/thread49463.html
C++ Программа телефонный номер
Тут столкнулся с проблемой. Программа не выводит телефонный номер, при вводе русских символов, реагирует только на английский ввод. Не знаю, вроде всё должно работать.Вот исходник: #include <iostream> #include <cstdio> using namespace std; int main() { setlocale(0,"");
Как скрыть программу от ctrl alt del? C++
Как скрыть программу от ctrl alt del? http://www.cyberguru.ru/cpp-sources/dll-applications/kak-skryt-programmu-ot-ctrl-alt-del.html не работает в win7
C++ From UTF-8 to UNICODE http://www.cyberforum.ru/cpp-beginners/thread49402.html
здравствуйте!! у меня вот какой вопрос! Как сделать преобразование UTF-8 и Unicode? во общем моя программа считывает данные с базы( база на армянском) в буфер и тут начинаются все проблемы!! я не понимаю как преобразовать из UTF-8 (ето у меня с базы) UNICODE что бы потом уже работать с ним?
C++ помогите решить задачу Народ! Помогите пожалуйста. Есть 4 задачи на выбор, нужно решить любую! Не скрою, C++, знаю плоховато, а задачу надо сдать сегодня. Кому не сложно - напишите код любой. Буду очень благодарен. Не забуду! Реализовать на C++ Вот сообственно задачи: • (Square Head). Square Head на прямоугольном поле размером 32 х 20 ячеек. В начальный момент времени ячейки закрашены случайными цветами (в... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
07.09.2009, 13:06     Перевод чисел в определённую систему
odip, Это хорошо, когда itoa есть. Стандартом вроде бы не описана.

dimjan4, Вот на С вариант, но опять же основание числа вводить прийдётся через пробел в буквенном виде (для наглядности):
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
59
60
61
62
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
 
/* перевод чисел в разные системы счисления */
 
/* int2bin - представление числа в виде строки */
char *long2bin(unsigned long int d, char *s){
    int first, last;
    char c;
    char *p = s;
    while ( d > 0 ){
        *p++ = d % 2 + '0';
        d /=  2;
    }
    *p = 0;
    for ( first = 0, last = (strlen(s) - 1); first < last; first++, last--){
        c = s[first];
        s[first] = s[last];
        s[last] = c;
    }
    return(s);
}
 
 
int main(){
    char buf[BUFSIZ];
    char strval[sizeof(long)*CHAR_BIT + 1]; /* максимальная длинна long в двоичном виде с завершающим нулём */
    char bas;
    long int d;
    
    while ( 1 ){
        printf("Enter some number followed by space separated basis (b o d x), or q to quit:\n");
        fgets(buf, BUFSIZ, stdin);
        if ( *buf == 'q' )
            break;
        if ( sscanf(buf, "%s %c", &strval, &bas) != 2 )
            continue;
        switch ( bas ){
            case 'b' :
                d = strtol(strval, NULL, 2);
                break;
            case 'o' :
                d = strtol(strval, NULL, 8);
                break;
            case 'd' :
                d = strtol(strval, NULL, 10);
                break;
            case 'x' :
                d = strtol(strval, NULL, 16);
                break;
            default :
                printf("Invalid basis value!\n");
                exit(1);
                break;
        }
        printf("Bin: %s\nOct: %#lo\nDec: %ld\nHex: %#lx\n", long2bin(d, buf), d, d, d);
    }
    
    return(0);
}
Пример работы:
Перевод чисел в определённую систему
 
Текущее время: 07:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru