С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 79, средняя оценка - 4.63
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
#1

Перевод символов в код таблицы ascii - C++

07.03.2011, 19:01. Просмотров 10571. Ответов 14
Метки нет (Все метки)

помогите перевести элементы символьного массива в код таблицы ascii
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2011, 19:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод символов в код таблицы ascii (C++):

Коды таблицы символов ASCII - C++
Почему когда я делаю явное преобразование вводимого с клавиатуры символа в int,компилятор выдаёт другие в отличии от таблицы ASCII...

Модифицирование программы, вместо символов их код ASCII - C++
Добрый вечер! Помогите модифицировать программу, так чтобы на экран вместо символов высвечивался его код ASCII. Заранее спасибо!

Написать программу для вывода таблицы символов и их ASCII кодов - C++
Написать программу для вывода таблицы символов и их ASCII кодов. Выясните какие диапазоны ASCII кодов соответствуют цифрам, знакам...

Вывести на экран таблицу символов в формате «ASCII-код – символ» - C++
Не понимаю, как делать это задание, уже весь интернет перерыл.

Перевод всех вводимых символов в 8 и 16-ричный код - C++
написать программу,печатающую все вводимые символы в верхнем регистре. В строку выводится символ, шестнадцатиричный и восьмеричный код

Перевод из string в ASCII - C++
Как можно перевести строку в ASCII коды? Есть ли возможность переводить сразу, а не через char? Спасибо...

14
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
07.03.2011, 19:04 #2
C++
1
static_cast< unsigned >(symbol);
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.03.2011, 19:09 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
#define SIZE 4
 
int main(void){
  char symbols[SIZE][SIZE] =
  {
    'a', 'g', 'n', 'd',
    '@', 'm', 'c', '(',
    'Z', 'b', ':', 'l',
    'G', 'Y', 'e', 'A'
  };
  for(int i = 0; i < SIZE; ++i){
    for(int j = 0; j < SIZE; ++j)
      printf("\t%d ", (size_t)symbols[i][j]);
    printf("\n");
  }
  return 0;
}
0
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 19:11  [ТС] #4
выводить не нужно , нужно в другой массив записать
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.03.2011, 19:14 #5
Цитата Сообщение от suv121 Посмотреть сообщение
выводить не нужно , нужно в другой массив записать
C
1
2
3
4
size_t arr[SIZE][SIZE];
for(int i = 0; i < SIZE; ++i)
  for(int j = 0; j < SIZE; ++j)
    arr[i][j] = (size_t)symbols[i][j];
0
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 19:20  [ТС] #6
Цитата Сообщение от asics Посмотреть сообщение
C
1
2
3
4
size_t arr[SIZE][SIZE];
for(int i = 0; i < SIZE; ++i)
  for(int j = 0; j < SIZE; ++j)
    arr[i][j] = (size_t)symbols[i][j];
а можете пояснить что такое size_t и можно ли вместо него в скобках написать int ?
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.03.2011, 19:32 #7
Цитата Сообщение от suv121 Посмотреть сообщение
а можете пояснить что такое size_t
Беззнаковое целое.
Цитата Сообщение от suv121 Посмотреть сообщение
можно ли вместо него в скобках написать int ?
В принципе можно, но так-как нет отрицательного аски кода, логичней будет использовать size_t.
1
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 21:46  [ТС] #8
Цитата Сообщение от asics Посмотреть сообщение
Беззнаковое целое.

В принципе можно, но так-как нет отрицательного аски кода, логичней будет использовать size_t.
в ячейке символ с кодом E0
C
1
2
3
size_t z;
char a[];
z=(size_t)a[4];
выдаёт значение z=-32
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.03.2011, 22:34 #9
Цитата Сообщение от suv121 Посмотреть сообщение
выдаёт значение z=-32
Где выдает-то? Нет функций вывода.
0
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 22:48  [ТС] #10
Цитата Сообщение от lemegeton Посмотреть сообщение
Где выдает-то? Нет функций вывода.
C
1
2
3
4
size_t z;
char a[];
z=(size_t)a[4];
printf("%d",z);
результат : -32
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.03.2011, 23:24 #11
Ничего удивительного, ведь %d означает вывод параметра как signed decimal integer. Представление данных.
0
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 23:26  [ТС] #12
Цитата Сообщение от lemegeton Посмотреть сообщение
Ничего удивительного, ведь %d означает вывод параметра как signed decimal integer. Представление данных.
а как тогда нужно?
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.03.2011, 23:38 #13
%u, %hu, %lu или %Lu

Добавлено через 6 минут
Да и вообще все гораздо проще
C++
1
printf("%u\n", (unsigned char) a[0]);
0
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 23:45  [ТС] #14
Цитата Сообщение от lemegeton Посмотреть сообщение
%u, %hu, %lu или %Lu
а как определить какой именно мне нужен ? с ними со всеми символ E0h не переводит в 224

Добавлено через 7 минут
Цитата Сообщение от lemegeton Посмотреть сообщение
%u, %hu, %lu или %Lu

Добавлено через 6 минут
Да и вообще все гораздо проще
C++
1
printf("%u\n", (unsigned char) a[0]);
мне нужно перевести в ячейку типа int
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.03.2011, 23:58 #15
C++
1
2
  int z = (unsigned char)a[0];
  printf("%u\n", z);
1
07.03.2011, 23:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2011, 23:58
Привет! Вот еще темы с ответами:

Перевод ASCI в ASCII и наоборот - C++
Добрый день учень нужна помощь... немогу никак разобраться с проблемой перевода кодировок, мне нужно чтоб в окне dos да и в текстовые файлы...

Перевод с двоичной системы в ASCII - C++
Есть последовательность 01010111101101010101101111011 ( к примеру ), как перевести эту последовательность в ascii коды ?

Перевод символа в ASCII и запись в массив - C++
Добрый день! Задача: пользователь вводить строку символов, далее символы переводятся в ASCII в бинарном коде и записываются в массив...

Перевод из HEX в ASCII и ещё кое - что - C++
Народ, как строку в HEX типа 3A 30 31 30 36 перевести в ASCII типа :0106 ? А как наоборот? А самое интересное, как из HEX перевести...


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

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

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