Эксперимент по получению внутреннего представления целых чисел в памяти комьютера

Эта небольшая простая программа (на Паскале, на Дельфи тоже работает) позволяет получить внутреннее представление целых чисел в памяти ЭВМ. Тип в первой строке можно менять на любой целый, но не забудьте поменять и число байт в типе. (Всё, что можно менять, выделено полужирным.)

  type ttype = shortint;
  const n = 1; {size in bytes}
  var k: ttype;
      s: string;
      i: integer;
begin
   readln(k);
   s:='';
   for i:=1 to 8*n do
   begin
      if i mod 4 = 1 then s:=' '+s;
      s:=char(48+(k and 1))+s;
      k:=k shr 1;
   end;
   writeln(s);
   readln;
end.

Предоставляем читателям возможность самим разобраться в работе программы, тем не менее, вопросы принимаются ;)

Комментарии

Виталий Бормотов аватар

k and 1

Последний бит числа я получаю конъюнкцией с единицей, но это работает только для целых чисел. Буду благодарен, если кто подскажет, как брать последний бит из любого типа данных - тогда можно будет исследовать строковое и символьное кодирование и, конечно, вещественные числа. Про логические переменные, где один бит хранится в восьми, я уж молчу...