|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|
Влияет ли манипуляторы hex,oct,dec на массив символов?04.06.2011, 16:53. Показов 4448. Ответов 8
Метки нет (Все метки)
Влияет ли манипуляторы hex,oct,dec на массив символов?
есть unsigned char str[LEN]; Ввожу и так cin >> hex >> str; и так cin >> str; Результат один и тот же, хотя если бы вместо str была бы переменная типа int, то при вводе числа 45 получилось бы в итоге 69. И еще, коды в переменных типа char и числа в int всегда записываются в десятичной системе исчисления, т.е. что бы не вводил в итоге будет число в десятичной системе исчисления?
0
|
|
| 04.06.2011, 16:53 | |
|
Ответы с готовыми решениями:
8
Перевод чисел Bin - Oct - Dec - Hex Манипуляторы dec hex setfill setw Перевод dec в hex и oct |
|
|
|
| 04.06.2011, 17:37 | |
|
Вот здесь Неочевидные ответы на простые вопросы почитай раздел 8, может ясности в вопросе прибавится
1
|
|
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|||||||
| 04.06.2011, 18:18 [ТС] | |||||||
|
Со вторым вопросом понятно, но не с первым.
Итак,
0
|
|||||||
|
|
||
| 04.06.2011, 18:30 | ||
|
Дело в том, что работа cin'а по сути дела зависит от того, как перегружены операторы для разных типов. Если у тебя есть int'овая переменная "a", то "cin >> a" отрабатывает таким образом, что сначала где-то запоминается введённая строка (просто как набор символов), а затем запускается процедура конвертации из строки в число, настроенная таким образом, что строковая запись трактуется как 10-ичная запись числа. А "cin >> hex >> a" отработает точно так же, только конверnилка настроена на 16-ричную запись
1
|
||
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
||
| 04.06.2011, 18:32 | ||
1
|
||
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|||||||||
| 04.06.2011, 18:47 [ТС] | |||||||||
0
|
|||||||||
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|
| 04.06.2011, 18:59 | |
|
0
|
|
|
|
||||||||||||
| 04.06.2011, 19:03 | ||||||||||||
|
С точки зрения компилятора и хранения данных char - это действительно такой же int, но более короткий. Но при этом массив char'ов как правило трактуется как строка. При этом надо понимать, что строка - это всего лишь массив целых чисел, но числа при этом кодируют не свои значения, а некоторые символы. Это становится критичным только в случае ввода-вывода. Т.е. при печати char'а может возникнуть двоякая ситуация: распечатать его как число или распечатать как символ (который закодирован в виде числа).
В Си'шном printf'е с этим вопросом всё более-менее ясно. При печати любого переданного значения мы явно указываем, каким образом трактовать это значение (%d - как целое число, %c - как символ):
В Си++ с этим делом несколько иначе сделано. У тебя есть перегруженный оператор << который привязан к типу, но при этом нет возможности указать, а каким же образом трактовать переданное значение. Разработчики сделали так, что для char'а оператор << будет печатать его как символ (т.е. трактовать char как кодировку). При вводе всё тоже самое, только у тебя символьное представление превращается в числовое. Если char в данном случае трактовать как целое число, то введённое значение "0" должно превратиться в однобайтовое число со значением 0. Если же трактовать как символ, то "0" должен превратиться в однобайтовое число, кодирующее символ "0" - это число 48. Оператор >> и cin работают симметрично cout'у и оператору << и трактуют char как символ (т.е. cin >> в отношении char'а работает не так, как в отношении прочих целых типов) Ну и дополнительно массив char'ов трактуется cin'ом и cout'ом как строка символов. Как в таком случае должен работать hex - хз, ибо hex следует применять при работе с числами, а не символами Добавлено через 1 минуту
1
|
||||||||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 05.06.2011, 09:50 | ||
|
0
|
||
| 05.06.2011, 09:50 | |
|
Помогаю со студенческими работами здесь
9
Из bin в dec и из oct в dec
[BMP] HEX (из HEX-редактора) в DEC Преобразование oct => hex Конвертация в Hex Oct Bin из десятичной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|