например в бинарной системе есть так называемая десятичная . суть ее в том что старший значащий бит означает перенос . например если число не помещается в байт то используется следующий байт но в предидущем пишется бит переноса разряда на следующий байт . при этом в такой системе при байтовой организации числа 6 разрядные если учесть отрицательные . и даже 5 разрядные с учетом паритета . Иными словами это обычный формат представления многобайтовых данных когда длинна этих данных непредсказуема . то есть и 1 и 2 и 10 и 50 байт . в нашем случае это числа до 65535 . но может и бесконечно больше .
младший разряд к стати в регистре флагов обозначает что число больше предидущего . то есть утф надо бинарно обрабатывать . причём в машинных кодах . это чисто внутри процессорное представление данных . для математических операций например . то есть перед вычислениями процессор кодирует данные именно так .
тут про универсальную формулу писали . вот и давайте разберемся . например буква Я это 3байта напишем их бинарно . и буква А это 2байта тоже напишем бинарно и поймем что к чему .
ещё напишу для пояснения . есть системы кодирования где например все четные числа это КАПС ЛОК нечетные это маленькие . цифры тоже имеют соответствие четности . данная система конечно лучше . почему она не внедренна ?! потому что первая клава была с перекрестной матрицой а буквы распологались как на пишущих машинках . вот и пошло так .
Кстати чтоб записывать некие блоки данных разной длинны то лучше обратиться к реализации массивов в C/C++ указатель на массив это два числа одно - начало массива в памяти, второе - его длинна. Всё очень просто.
MavericK, seclub.org/forum/goto/11222075/ - это очень медленно. При каждом изменении строки создаётся новый объект, потом в него копируется старый и то, что изменено.
6 июн 2010 в 13:32