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

Эта небольшая простая программа (на Паскале, на Дельфи тоже работает) позволяет получить внутреннее представление целых чисел в памяти ЭВМ. Тип в первой строке можно менять на любой целый, но не забудьте поменять и число байт в типе. (Всё, что можно менять, выделено полужирным.)   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. Предоставляем читателям возможность самим разобраться в работе программы, тем не менее, вопросы принимаются ;)
Последний бит числа я получаю конъюнкцией с единицей, но это работает только для целых чисел. Буду благодарен, если кто подскажет, как брать последний бит из любого типа данных - тогда можно будет исследовать строковое и символьное кодирование и, конечно, вещественные числа. Про логические переменные, где один бит хранится в восьми, я уж молчу...