Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/61: Рейтинг темы: голосов - 61, средняя оценка - 4.92
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
1

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

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

помогите перевести элементы символьного массива в код таблицы ascii
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2011, 19:01
Ответы с готовыми решениями:

Перевод символов в ASCII
#include <iostream> #include <string> using namespace std; int main () { int a, b; cin...

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

Корректное отображение некоторых символов из таблицы extended ASCII
Работаю в ОС Linux Ubuntu. Нужно вывести в консоль символы псевдографики,например 219(блок),но...

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

14
Эксперт С++
5039 / 3100 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
07.03.2011, 19:04 2
C++
1
static_cast< unsigned >(symbol);
0
Freelance
Эксперт С++
2875 / 1810 / 356
Регистрация: 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
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 19:11  [ТС] 4
выводить не нужно , нужно в другой массив записать
0
Freelance
Эксперт С++
2875 / 1810 / 356
Регистрация: 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
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
Freelance
Эксперт С++
2875 / 1810 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
07.03.2011, 19:32 7
Цитата Сообщение от suv121 Посмотреть сообщение
а можете пояснить что такое size_t
Беззнаковое целое.
Цитата Сообщение от suv121 Посмотреть сообщение
можно ли вместо него в скобках написать int ?
В принципе можно, но так-как нет отрицательного аски кода, логичней будет использовать size_t.
1
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
3053 / 1458 / 492
Регистрация: 29.11.2010
Сообщений: 2,888
07.03.2011, 22:34 9
Цитата Сообщение от suv121 Посмотреть сообщение
выдаёт значение z=-32
Где выдает-то? Нет функций вывода.
0
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
3053 / 1458 / 492
Регистрация: 29.11.2010
Сообщений: 2,888
07.03.2011, 23:24 11
Ничего удивительного, ведь %d означает вывод параметра как signed decimal integer. Представление данных.
0
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
07.03.2011, 23:26  [ТС] 12
Цитата Сообщение от lemegeton Посмотреть сообщение
Ничего удивительного, ведь %d означает вывод параметра как signed decimal integer. Представление данных.
а как тогда нужно?
0
3053 / 1458 / 492
Регистрация: 29.11.2010
Сообщений: 2,888
07.03.2011, 23:38 13
%u, %hu, %lu или %Lu

Добавлено через 6 минут
Да и вообще все гораздо проще
C++
1
printf("%u\n", (unsigned char) a[0]);
0
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
3053 / 1458 / 492
Регистрация: 29.11.2010
Сообщений: 2,888
07.03.2011, 23:58 15
C++
1
2
  int z = (unsigned char)a[0];
  printf("%u\n", z);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2011, 23:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Как преобразовать код из таблицы ASCII в символ
Здравствуйте! Подскажите пожалуйста как можно преобразовать код из таблицы ASCII в символ?

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

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


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

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

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