Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/26: Рейтинг темы: голосов - 26, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 25.06.2019
Сообщений: 4
1

Для чего нужны переменные типа CHAR, SIGNED INT?

26.06.2019, 14:37. Показов 4767. Ответов 11

Author24 — интернет-сервис помощи студентам
Привет всем. Я новичок в С++, в принципе я знаю, как программировать, изучил паскаль до функций с процедурами, но в C++ встретил новые переменные. Я не понимаю, для чего переменной int, которая может быть и отрицательной, давать модификатор signed, а также как используется char, w_char. Я искал помощи на форумах, в гугле, но не нашел.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2019, 14:37
Ответы с готовыми решениями:

Надо перевести переменную типа unsigned char* в signed int и обратно
у меня есть переменная типа unsigned char*, мне нужно перевести ее в signed int , провести...

Для чего нужны переменные, и прочее типа, константа, типы , массивы и т.к.д ?
Для чего нужны переменные, и прочее типа, константа, типы , массивы и т.к.д

Выполнить операции для переменных типа signed char
Выполнить операции: а) 5+127; б) 2-3; в) -120-34; г) (unsigned char)(-5); д) 56 & 38; е)...

Как достать из массива char переменные типа double, int, bool
Имеется массив char temp. в этот массив записана переменная double (начинается ,например, с temp),...

11
Заблокирован
26.06.2019, 14:39 2
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
Я искал помощи на форумах, в гугле, но не нашел.
Книжку скачай.
0
0 / 0 / 0
Регистрация: 25.06.2019
Сообщений: 4
26.06.2019, 14:44  [ТС] 3
Я нашел лишь одно использование модификатора signed - исправление модификатора unsigned, но ведь можно и без этого переправлять. Помогите, пожалуйста

Добавлено через 2 минуты
Я немного тупенький и не нашел там ответа. Символьный тип - можно перепутать с переменной string, но там всего 1-2 байта..
0
Заблокирован
26.06.2019, 14:46 4
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
Я немного тупенький
Тупым в программировании не место. Есть много других специальностей, где всё это не нужно. Например, тот же бизнес. (© Медведев).

Для чего нужны переменные типа CHAR, SIGNED INT?
2
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
26.06.2019, 14:51 5
Лучший ответ Сообщение было отмечено 14Highlord88 как решение

Решение

Цитата Сообщение от 14Highlord88 Посмотреть сообщение
в принципе я знаю, как программировать, изучил паскаль до функций с процедурами
Это в стиле "Выучить С++ за 2 недели".
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
Я не понимаю, для чего переменной int, которая может быть и отрицательной, давать модификатор signed
Для того, чтобы это явно подтвердить. Неявно она и так signed.
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
а также как используется char
char - тип, который хранит символы. В зависимости от реализации char по умолчанию может быть как и signed, так и unsigned. А значит, иметь разный диапазон представления этих самых пресловутых символов.
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
w_char
Расширенный char. Хранит больший диапазон, нежели просто char. Если я не ошибаюсь, по размеру как int.
1
0 / 0 / 0
Регистрация: 25.06.2019
Сообщений: 4
26.06.2019, 14:54  [ТС] 6
Я искал, в то то и дело.
Зачем нужны модификаторы типов?
Я знаю, что делают модификаторы. Но как это пригодится? Ну unsigned для счетчиков использовать можно, в два раза больше. А для чего signed char, int, если это одно и тоже?

Добавлено через 1 минуту
Выходит, что у каждой переменной int и char по умолчанию стоит signed, так?
0
6107 / 3461 / 1406
Регистрация: 07.02.2019
Сообщений: 8,794
26.06.2019, 14:55 7
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
Но как это пригодится?
Начните писать код, сами все поймете
0
Заблокирован
26.06.2019, 14:58 8
Лучший ответ Сообщение было отмечено 14Highlord88 как решение

Решение

Цитата Сообщение от 14Highlord88 Посмотреть сообщение
Но как это пригодится? Ну unsigned для счетчиков использовать можно, в два раза больше. А для чего unsigned char, int, если это одно и тоже?
Да ёмаё, чтобы управлять автомобилем, не обязательно сразу знать, как электронный впрыск работает. В программировании всё и сразу узнать НЕВОЗМОЖНО! Знания прокачиваются по мере написания всё более и более сложных программ (сотен и даже тысяч программ!) с применением полученных с предыдущим опытом знаний и навыков и одновременным изучением новых приёмов.

Понял, не?

2
0 / 0 / 0
Регистрация: 25.06.2019
Сообщений: 4
26.06.2019, 14:59  [ТС] 9
Понял, спасибо)
0
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
26.06.2019, 15:21 10
Выходит, что у каждой переменной int и char по умолчанию стоит signed, так?
14Highlord88, для int да, для char - зависит от реализации компилятора
0
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
26.06.2019, 15:38 11
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
Я не понимаю, для чего переменной int, которая может быть и отрицательной, давать модификатор signed
Считай int - это сокращенная форма для signed int.
Цитата Сообщение от 14Highlord88 Посмотреть сообщение
а также как используется char, w_char
char - это символьный тип, который занимает 1 байт (как правило, используют для ASCII, но можно и для любой другой однобайтовой кодировки). w_char - расширенный (дословно "широкий") символьный тип, где каждый символ занимает по 2 байта (например, unicode) либо 4 байта (зависит от платформы). Эти типы пришли к нам из Си.

Цитата Сообщение от 14Highlord88 Посмотреть сообщение
Символьный тип - можно перепутать с переменной string, но там всего 1-2 байта..
Символьный тип трудно перепутать с string, поскольку символьный тип всегда подразумевает только один символ в отличие от string - с другой стороны со string легко перепутать си-строку, си-строку - с указателем на символьный тип, а указатель на символьный тип - с символьным массивом (или вообще с массивом). Например:

C++
1
2
3
4
5
6
char a1[] = "a1"; //си-строка
char* g1 = a1; //можно сказать, тоже си-строка
char* e1 = "a1"; //тоже си-строка, но в отличие от первой она является константной (эквивалентно const char*)
char b1[] = {'a','1'}; //символьный массив, не строка!
char c1 = 'a';
char *d1 = &c1; //указатель на символ. Не на строку!
В С++ очень много костылей неочевидностей. Как утверждают его сторонники - все это из-за дурного влияния Си, из которого он вырос в 1983 году и поддержки совместимости с ним... Шел 2019 год...

Цитата Сообщение от Verevkin Посмотреть сообщение
Тупым в программировании не место
Ну зачем же так сразу про новичков?

Цитата Сообщение от Verevkin Посмотреть сообщение
Есть много других специальностей, где всё это не нужно. Например, тот же бизнес. (© Медведев).
Красиво сказано)
0
Заблокирован
26.06.2019, 15:48 12
Цитата Сообщение от netBool Посмотреть сообщение
Ну зачем же так сразу про новичков?
Лучше сразу сказать правду. А то потом ракеты падают и всякие подводные лодки тонут.
Перефразирую: чтобы быть программистом, тупым быть запрещено.
Работаю на военном заводе. Тут такие овощи программистами работают - пипец просто. Тёти и дяди из 80-х со стажем в 35-50 лет пишут проги в стиле "китайское школоло". Учиться не хотят и ООП не знают. И, что самое главное, не любят программирование. Нет, не так - НЕНАВИДЯТ! ссука, зла не хватает...
0
26.06.2019, 15:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2019, 15:48
Помогаю со студенческими работами здесь

Signed Char -> Int
Есть следующий код: int i = 128; char c = i; int ii = c; Почему в c оказывается -128 я...

Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять.
Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для...

Определение диапазонов переменных типов char, short, int и long (как signed, так и unsigned)
Вроде до этого все читал внимательно, задание понимаю, как реализовать - не знаю. С только начал...

Объясните, для чего нужны некоторые строчки в коде(using namespace, new, int main)
#include <iostream> using namespace std; //для чего эта строчка int main(void) // что нужно...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru