Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / работа в ASCII и перевод в другие системы счисления / 11 сообщений из 11, страница 1 из 1
25.12.2005, 04:36
    #33456158
Potter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
Подскажите плз чем переводить в десятичную, шестнадцатеричную и двоичную системы!
А еще есть в С выбор из ASCII предыдущего по номеру символа? Если нет, то как получит аски-код по символу и символ по коду?
Спасибо
...
Рейтинг: 0 / 0
25.12.2005, 07:49
    #33456173
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
1) Что переводить? - строку, double... и в какое представление переводить
(например int в строку, являющуюся изображением двоичного числа "111001010011")
2) Предыдущий по отношению к чему?
-
Формулируйте вопрос вразумительно
...
Рейтинг: 0 / 0
25.12.2005, 09:58
    #33456188
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
1. Про перевод:

Код: plaintext
1.
2.
3.
4.
5.
6.
char c[ 100 ]="127";
int   n;

n = atoi(c); // Перевод из ANSI дес. в число
itoa(n, c,  16 );   // Перевод в ANSI шестнадц. результат 7f
itoa(n, c,  10 );   // Перевод в ANSI десятич.  результат 127
itoa(n, c,  2 );    // Перевод в ANSI двоич.    результат  1111111 

2. Про предыдущий по номеру символ

Код: plaintext
1.
char c = 'B';
c--; // Результат A

3. аски-код и символ одно и тоже
...
Рейтинг: 0 / 0
25.12.2005, 19:22
    #33456385
Potter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
Я знаю что одно и то же, мне число нужно получить <img=http://www.sql.ru/forum/images/happy.gif>
...
Рейтинг: 0 / 0
25.12.2005, 19:48
    #33456400
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
Дак это и есть число. Можно складывать, вычитать, умножать и т.д.(правда диапозон невелик для беззнаковых [0,255], для знаковых [-128,127]), а если сильно хочется то присвоить переменной типа int:

Код: plaintext
1.
2.
char c = 'A';
int   n;
n = c;
...
Рейтинг: 0 / 0
27.12.2005, 12:24
    #33459160
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
С ANSII работать просто. А вот мне нужно записать в реестр код символа
(Е1) из юникоде. Так когда я использую Е1, он принимается как ANSII
и пишется совсем другой символ (с таким же кодом, но по кодировке ANSII).
...
Рейтинг: 0 / 0
27.12.2005, 13:31
    #33459428
_Балтика
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
SCORPION ZС ANSII работать просто. А вот мне нужно записать в реестр код символа
(Е1) из юникоде. Так когда я использую Е1, он принимается как ANSII
и пишется совсем другой символ (с таким же кодом, но по кодировке ANSII).
Представте код
...
Рейтинг: 0 / 0
27.12.2005, 18:45
    #33460392
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
_Балтика SCORPION ZС ANSII работать просто. А вот мне нужно записать в реестр код символа
(Е1) из юникоде. Так когда я использую Е1, он принимается как ANSII
и пишется совсем другой символ (с таким же кодом, но по кодировке ANSII).
Представте код

Нужно в мою ветку реестра внести символы из кодировки
юникоде (16-ричные коды которых 0x00E0, 0x00E1).
Когда же я вношу такие значения, то в реестре они
естественно пишутся как 0x00E0 и 0x00E1, но из ASCII.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
TRegistry *Reg = new TRegistry;
 int buf[ [b]2 ] = {0x00E0, 0x00E1}; [/b]

 Reg->OpenKey("\\Software\\My Projects",true);
 Reg->WriteString("Тема","Мои приложения");
 Reg->OpenKey("\\Software\\My Projects\\Test",true);
 Reg->WriteString("Приложение","TRegistry");

 Reg->WriteString("Файл",ParamStr( 0 ));
 Reg->WriteBinaryData("BinaryData",&buf,sizeof(buf));

 delete Reg; 


Дак как сделать символы именно из нужной кодировки?
...
Рейтинг: 0 / 0
28.12.2005, 03:36
    #33460771
Forgottn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
А вместо Reg->WriteString что-нибудь вроде Reg->WriteHex или Reg->WriteBinary использовать?
...
Рейтинг: 0 / 0
28.12.2005, 10:48
    #33461209
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
ForgottnА вместо Reg->WriteString что-нибудь вроде Reg->WriteHex или Reg->WriteBinary использовать?
В строке Reg->WriteString у меня проблем нет. Да и в Reg->WriteBinary
то же. Просто вместо кода из одной кодировки вписывается тот же код из другой (стандатной - ANSII)
...
Рейтинг: 0 / 0
06.01.2006, 07:07
    #33469847
Forgottn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа в ASCII и перевод в другие системы счисления
Ну дык... Пользуйтесь типом TCHAR или вернее WCHAR и радуйтесь... Под ДОСом это выглядит так: wchar_t
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / работа в ASCII и перевод в другие системы счисления / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]