|
171 / 5 / 2
Регистрация: 27.11.2024
Сообщений: 45
|
|
Как определяется тип переменной?06.12.2024, 17:51. Показов 969. Ответов 9
возможно, вопрос сформулирован некорректно, но поверьте, мне трудно как-то правильно это сделать и если б я мог, то обязательно сформулировал бы почётче.
попытаюсь раскрыть суть вопроса. в общем если смотреть по таблице аски, то символ 3 будет кодироваться числом 32 в 16ричке, что запишется определённым двоичным кодом в памяти. но кроме символа 3 я могу записать число типа unsigned int 50, который будет иметь такой же двоичный код. да, размер данных отличается, но как процессор понимает, хотим мы получить инт или чар, если двоичный код у них одинаков?
0
|
|
| 06.12.2024, 17:51 | |
|
Ответы с готовыми решениями:
9
Макрос определяется как тип Как определить тип переменной, ссылающейся на определённый класс? Нужен именно тип, а не ссылка на обьект! Получить тип переменной и задать её переменной типа тип |
|
152 / 136 / 26
Регистрация: 12.12.2020
Сообщений: 1,128
|
|
| 06.12.2024, 18:13 | |
|
при объявлении переменной определяется ее тип.
А дальше возможны варианты. Есть такое понятие как "приведение типов". Это когда одну переменную чар, присваивают переменной инт. Бывает явное и не явное. В первом случае программист явно прописывает что и как он хочет преобразовать и в каком порядке. Во втором варианте полагаются на компилятор.
1
|
|
| 06.12.2024, 23:25 | ||
Сообщение было отмечено Makiavelly Uber как решение
Решение
1
|
||
|
698 / 572 / 75
Регистрация: 20.09.2014
Сообщений: 3,699
|
||
| 07.12.2024, 05:07 | ||
|
Другой вопрос, откуда эту информацию берёт программист? Так?
1
|
||
|
Модератор
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
|
|
| 09.12.2024, 10:57 | |
|
Языки бывают безтиповыми и типизированными.
В типизированных языках каждое значение* (здесь и далее - в широком смысле) имеет тип. В языках с динамической типизацией переменные могут хранить значения любых типов. В языках со статической типизацией каждая переменная может хранить значение только определённого (на этапе компиляции) типа. То есть, каждая переменная имеет тип. В языках со слабой типизацией допускаются неявные преобразования типов значений. Это небинарная классификация. "Уровень слабости" определяется заданным (в спецификации языка) набором допустимых неявных преобразований. *Значение (в широком смысле) - это цепочка бит произвольной длины. В типизированных языках каждому значению ставятся в соответствие метаданные, описывающие тип ("физический смысл") значения. Логически все значения можно поделить на два класса - объекты и значения (в узком смысле) - по тому, как они сравниваются. Например, два одинаковых мяча - это разные мячи (объекты) два одинаковых числа - одно и то же число (значение). В некоторых языках существует "синтаксическое" деление на объекты и значения - по тому, как они хранятся в памяти. Это деление не обязательно совпадает с описанным выше логическим делением. (выделил жирным ответ на вопрос топикстартера)
1
|
|
|
171 / 5 / 2
Регистрация: 27.11.2024
Сообщений: 45
|
|
| 09.12.2024, 11:23 [ТС] | |
|
да это всё понятно. вопрос был в том, как именно компилятор даёт понять, данные какого типа используются данным адресом.
ибо если данные числовые, то лезть в таблицу аски при выводе в консоль не нужно (ну или нужно найти в таблице аски такой символ, который совпадает с числовым символом по написанию), а при выводе некого символа в кодовую таблицу надо залезть. даже в ассемблере нет команды, которая руководила этим процессом, т е нет такого, чтобы программист давал команду залезть в таблицу аски и найти такой-то код, в моём понимании, это происходит на уровне компиляии. так вот, мне было интересно, прав ли я, думая о типах таким образом. возможно, не очень понятна моя мысль, поэтому попытаюсь переформулировать: (для простоты возьмём код написанный на языке ассемблера) я предполагаю, что при трансляции в машинный код ассемблер там, где это нужно, машинным кодом записывает команды процу, что надо выполнить определённые действия, направленные на поиск символа в таблице аски, закодированного битами, лежащими по адресу некой, нужной нам, переменой. я прав?
0
|
|
|
Модератор
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
|
|||||||
| 09.12.2024, 13:08 | |||||||
Сообщение было отмечено Makiavelly Uber как решение
РешениеВ спецификации типизированных языков есть синтаксические правила задания литералов. Например, в ассемблере есть возможность задать байты символами в коде.
1
|
|||||||
| 09.12.2024, 16:02 | |||||||
1
|
|||||||
|
698 / 572 / 75
Регистрация: 20.09.2014
Сообщений: 3,699
|
||
| 09.12.2024, 18:06 | ||
Сообщение было отмечено Makiavelly Uber как решение
РешениеТо есть типы данных указываются не только для переменных, но и у функций.
1
|
||
|
171 / 5 / 2
Регистрация: 27.11.2024
Сообщений: 45
|
|||||
| 09.12.2024, 19:45 [ТС] | |||||
|
Добавлено через 8 минут Добавлено через 5 минут
0
|
|||||
| 09.12.2024, 19:45 | |
|
Помогаю со студенческими работами здесь
10
Как отсортирвоать контейнер, если его тип определяется по ходу выполнения программы? (динамическая идентификация типов) Как узнать тип переменной Как узнать тип переменной? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|