Внезапно нетранзитивное
Aug. 18th, 2017 01:27 amВ былые времена символов в кодировках было немного, и поэтому, хотя в байте уже было 8 бит, о возможности наличия байтов с установленным старшим битом в нормальных человеческих текстовых строках (а не, скажем, в сжатом представлении) никто не заботился. От этого, как говорится, байты с установленным старшим битом служили неиссякаемым источником лулзов.
В приведенной программе подчеркивание внутри строк аналогично символу обратной косой черты в языке Си. Тип ALFA - массив символов, умещающийся ровно в одно машинное слово.
Предлагается представить себеи ужаснуться, что могло происходить с сортированными контейнерами, если в них помещали подобные строки.
В качестве задания со звездочкой предлагается подумать, как могла была быть устроена система команд, приводящая к такому парадоксальному результату.
В приведенной программе подчеркивание внутри строк аналогично символу обратной косой черты в языке Си. Тип ALFA - массив символов, умещающийся ровно в одно машинное слово.
00001 1 0 PROGRAM MAIN(OUTPUT);
00001 2 1 VAR A,B,C:ALFA;
00007 3 2 BEGIN
00010 4 2 A := ’_000_000_000_000_000_000’;
00011 5 2 B := ’_200_000_000_000_000_000’;
00012 6 2 C := ’_177_177_177_177_177_177’;
00013 7 2 WRITELN(A > B, B > C, C > A);
00050 8 0 END.
*EXECUTE
TRUE TRUE TRUEПредлагается представить себе
В качестве задания со звездочкой предлагается подумать, как могла была быть устроена система команд, приводящая к такому парадоксальному результату.
no subject
Date: 2017-08-18 02:02 pm (UTC)Кстати, а как они без целой арифметики вычисляли смещения в массивах?
no subject
Date: 2017-08-18 03:22 pm (UTC)Кроме арифметики с порядком, была еще операция полноразрядного контрольного суммирования, в которой собака и зарыта.