TBlock = record
case integer of
0: (int : integer);
1: (b : array[0..3] of byte);
end;
Integer и Byte: конвертации
1. Как переменные типа Integer (4 байта) хранятся в памяти? В одном из байтов хранится инфа по знаку (0 - плюс, 1 - минус), а в других в каком виде мантисса лежит? Приведите примеры, если можно.. :rolleyes:
2. Как представить Integer в виде массива из 4-ех элементов типа Byte (или обратное: массив Byte-ов в Integer)?
:)
1) Integer храниться в памяти в обратном порядке (старший байт по старшему адресу) - RTFM IA32. В старшем БИТЕ хранится знак числа.
2) Использовать следующую конструкцию:
Код:
Ольга, сцылка открываться не хочет никак :( Подскажите, пожалуйста, что-нить похожее для прочтения. Навалом разной литературы, но хочу проверенное и доступное читать... и рекомендованное. Осваиваю указатели чичас :p То, о чем в теме спрашивал, как раз к этому будет относится, как вы поняли :rolleyes:
Для начала лучше попробуй взять книгу по ассемблеру (в принципе любую, чем проще - тем лучше) или по архитектуре x86 процессоров и почитай про адресацию в памяти, как процессор выполняет простейшие команды (сложения, вычитания, сравнения). ИМХО, с помощью дельфи объяснять, все эти вещи все равно, что микроскопом гвозди забивать :) Не того уровня язык...
Цитата:
Ольга, сцылка открываться не хочет никак
проверила, у меня тоже не открывается. думаю это временные проблемы, там неплохая книга по информатике, помоему в ней описывается хранение чисел в памяти.
по моему мнению, чтобы работать в высоком языке с указателями, не обязательно сразу вникать как данные хранятся в памяти, для начала достаточно понять что такое указатели и как с ними работать. как верно заметил makbeth, для углубленного понимания стоит почитать книгу по Ассемблеру, например книгу Юрова. в разделе Студентам в прикрепленной теме Полезные ссылки, есть ссылка на эту и многии другии книги.