Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Внутримашинное представление данных.

Автор: flamer 26.04.2007 23:33

Внутримашинное представление данных (pascal).

Постановка задачи:
Написать программу, выдающую двоичное представление трех заданных типов с выбранными значениями (для каждого типа данных рассмотреть по два значения).
тип 1 - word
тип 2 - double
тип 3 - строка

Выручайте братцы.

Автор: volvo 26.04.2007 23:58

Аналогично вот этому:
http://forum.pascal.net.ru/index.php?s=&showtopic=5046&view=findpost&p=40735

только подставляй переменные нужных тебе типов ...

Автор: Malice 27.04.2007 0:06

Можно создать такой тип:

type xtype= record
case byte of
1: (w:word);
2: (d:double);
3: (s:string);
4: (a:array [0..255] of byte);
end;
var i:xtype;

Писать значения в i.w, i.d и i.s, а выводить из массива всегда i.a (столько, сколько байт в типе).

Автор: flamer 28.04.2007 2:24

Цитата(Malice @ 26.04.2007 21:06) *

Можно создать такой тип:
type xtype= record
case byte of
1: (w:word);
2: (d:double);
3: (s:string);
4: (a:array [0..255] of byte);
end;
var i:xtype;

Писать значения в i.w, i.d и i.s, а выводить из массива всегда i.a (столько, сколько байт в типе).

А можно поподробней ? rolleyes.gif

Автор: Malice 28.04.2007 13:01

Цитата(flamer @ 27.04.2007 23:24) *

А можно поподробней ? rolleyes.gif



procedure print (len:byte);
begin
..
end;

begin
i.w:=333;
print (sizeof(i.w));
i.d:=453.435;
print(sizeof(i.d));
i.s:='test string';
print(length(i.s)+1);


А в процедуре print выводишь содержимое массива i.a длинной len.