Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72

преобразвоание int в char. речь не про atoi

10.11.2010, 21:19. Показов 4494. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите разобраться, как происходит преобразование из int в char. например:
C++
1
2
3
int i =1000;
char k=232;
cout<<(int)k;
каким образом на экран выводится -24. и почему на одном компутере выводится знак 'ш' а на другом 'и'??

Добавлено через 13 минут
аа, блин, пардон.
C++
1
2
3
int i =1000;
char k=i;
cout<<(int)k;
а что касается 'и' и 'ш', то значение (int)k = -24 везде. а знаки разные
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2010, 21:19
Ответы с готовыми решениями:

Реализация функции char *padl(const char *string, int len, int c=' ')
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Error C2040:strnset_2:"char *(char *,int,unsigned int)" отличается по уровням косвенного обращения от "int ()"
Не могу найти в чём ошибка. error C2040: strnset_2: &quot;char *(char *,int,unsigned int)&quot; отличается по уровням косвенного обращения от...

как осуществить приведение типов....(int) char ; (char) int;
Подскажите пожалуйста. мне нужно перевести программу с билдера на дельфи. Есть некоторые нюансы. 1) как осуществить приведение...

23
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 00:58
Студворк — интернет-сервис помощи студентам
RUSya82, Локаль подключить пробовали?
И явно привести к unsigned char кстати
248 кстати.
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    std::locale().global(std::locale(""));
    unsigned char f='ш';
    std::cout<<(unsigned int)f<<'\n';
    std::cout<<f<<'\n';
    return 0;
}
Собственно и так можно.
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    std::locale().global(std::locale(""));
    char f='ш';
    std::cout<<static_cast<int>(static_cast<unsigned char>(f))<<'\n';
    std::cout<<f<<'\n';
    return 0;
}
1
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
11.11.2010, 01:01  [ТС]
Цитата Сообщение от illuminati Посмотреть сообщение
если чесно, не особо могу себе представить где такое применяется, чтобы char юзать в виде символа, дак еще и в него присваивать int, значения которого заведомо больше 1го байта
решение как мне кажется :
проверять интовую переменную на выход из диапазона значений char
вычисление адресса в хеш-функциях
0
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
11.11.2010, 01:06
Цитата Сообщение от RUSya82 Посмотреть сообщение
Хорошо, когда мы пишем, char f = 'ш';,в f записывается -24? Почему? если код символа 232? Я запутался просто.
код символа считывается без знака т.е.1110 1001, при исп. cout << c;
десятичная цифра выводится с учетом знака, т.е. 1 - минус, и 110 1001 - тело перем.
в итоге :
110 1001 - это 105 в десятичной сс
-128 + 105 + 1(особенности доп.кода) = -24
т.е. cout сам решает как ему юзать данную переменную

вот за что я всегда любил Си, так это за наглядность printf и scanf

Добавлено через 1 минуту
KBAC, а заюзать что-то больше char нельзя ?
1
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
11.11.2010, 01:14  [ТС]
Цитата Сообщение от illuminati Посмотреть сообщение
KBAC, а заюзать что-то больше char нельзя ?
да собственно это просто вопрос экзаменационный , надо было разобраться как он так преобразует. вроде все правильно разобрались. а хеш функция это это я просто привел пример где используется.

Добавлено через 2 минуты
Цитата Сообщение от illuminati Посмотреть сообщение
т.е. cout сам решает как ему юзать данную переменную
так можно ведь явно указать тип unsigned и будет все нормально выводиться как надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2010, 01:14

Форматирование строк, char to int & int to char
Покажите как запихнуть число в строку и вытащить его обратно из строки. Вот всё просто в pawn str_to_num(const str) // Тупо...

Как превести из char* в int и наоборот из int в char*?
Как превести из char* aa='123' в int aa=123 и наоборот из int в char* . Понимаю что самому написать функцию не сложно, но наверняка это...

Как правильно извлечь целое число из char (atoi возвращает -858993460)?
вот где d=atoi(Digit); Digit='2''0''1''7' , а d почему-то получается -858993460 подскажите пожалуйста как исправить баг ...

Подскажите пожалуйста с int main(int argc, char*argv[])
Если я правильно понимаю, то int argc это передача аргумента программе, т. е если argc&gt;1 то программе передан хотя бы один аргумент,...

Сделать преобразование unsigned char в char, а затем типу int
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru