Информационно-технологический вестник , 2023, № 4 (38)
научный журнал
Покупка
Тематика:
Общетехнические дисциплины
Издательство:
Научный консультант
Наименование: Информационно-технологический вестник
Год издания: 2023
Кол-во страниц: 188
Дополнительно
Тематика:
ББК:
- 3297: Вычислительная техника
- 34: Технология металлов. Машиностроение. Приборостроение
- 395: Воздушный транспорт
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 621: Общее машиностроение. Ядерная техника. Электротехника. Технология машиностроения в целом
- 6297: Авиация и космонавтика. Летательные аппараты. Ракетная техника. Космическая техника
ОКСО:
- 01.00.00: МАТЕМАТИКА И МЕХАНИКА
- 09.00.00: ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
- 11.00.00: ЭЛЕКТРОНИКА, РАДИОТЕХНИКА И СИСТЕМЫ СВЯЗИ
- 15.00.00: МАШИНОСТРОЕНИЕ
- 24.00.00: АВИАЦИОННАЯ И РАКЕТНО-КОСМИЧЕСКАЯ ТЕХНИКА
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
J Журнал зарегистрирован ФедеральСОДЕРЖАНИЕ ной службой по надзору в сфере связи, информационных технологий СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА и массовых коммуникаций ИНФОРМАЦИИ (Роскомнадзор) Свидетельство о регистрации ПИ № ФС77-64098 от 18 декабря 2015 г. Учредитель – Федеральное государственное бюджетное образовательное учреждение Вальс В.И. АНАЛИЗ ИСПОЛЬЗОВАНИЯ МОДУЛЯ ПРЕОБРАЗОВАНИЯ ТАБЛИЦ VISUAL FOXPRO В ФОРМАТ SQL DUMP В СИСТЕМАХ ДОКУМЕНТООБОРОТА………………..………………………3 высшего образования «Технологический университет имени дважды Героя Советского Союза, летчика-космонавта А.А. Леонова» (141074, Московская область, г. Королев, ул. Гагарина, д. 42) Издается с сентября 2014 г. Лукьянов А.А. АНАЛИЗ МЕТОДОЛОГИЙ И ИНСТРУМЕНТО В НЕПРЕРЫВНОЙ ИНТЕГРАЦИИ И ПОСТАВКИ ДЛЯ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ СБОРКИ ЗАГРУЗОЧНОЙ СРЕДЫ LINUX ДЛЯ ВСТРАИВАЕМЫХ СИСТЕМ УДАЛЁННОГО ДОСТУПА……………………….15 Выходит 4 раза в год ISSN 2409-1650 Журнал «Информационнотехнологический вестник» включён в Филяев Г.А., Релич С.Т. НЕПАРАМЕТРИЧЕСКАЯ И МОДЕЛИРУЕМАЯ НАДЕЖНОСТЬ КОСМИЧЕСКИХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ….……………..………………………………….26 Перечень ведущих периодических изданий ВАК Группы научных специальностей и научные специМАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ альности в рамках групп научных специальностей, по которым издание входит в Перечень: ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ, КОМПЛЕКСОВ И 2. Технические науки; 2.2. Электроника, фотоника, КОМПЬЮТЕРНЫХ СЕТЕЙ приборостроение и связь; 2.3. Информационные технологии и телекоммуникации [2.3.1. Системный анализ, управление и обработка информации; 2.3.5. Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей], 2.5. Машиностроение [2.5.13. ПроектироваЖаров В.Г., Шайтура С.В., Останкова Н.В. ЭКОНОМИКО-МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ИНФРАСТРУКТУРЫ СЕРВИСА…………………………….39 ние, конструкция и производство летательных аппаратов], 2.6. Химические технологии, науки о материалах, металлургия; [2.6.17. Материаловедение] Подписной индекс в каталоге «Почта России» ПП997 Семенов А.Б., Артюшенко В.М. ОСОБЕННОСТИ ПРОЯВЛЕНИЯ СИСТЕМНОЙ ПРОБЛЕМЫ СЛАБОГО ЗВЕНА В ТЕХНИКЕ СТРУКТУРИРОВАННОГО КАБЛИРОВАНИЯ…..…..……66 Главный редактор Артюшенко Владимир Михайлович, д.т.н., профессор Над выпуском работали Паршина Ю.С. Шульженко Н.А., Шульженко С.Н. КОРРЕЛЯЦИОННАЯ ЗАВИСИМОСТЬ ПОДСИСТЕМ ИННОВАЦИОННОГО РАЗВИТИЯ ПРЕДПРИЯТИЙ С УЧЕТОМ ОСОБЕННОСТЕЙ ИХ КОРПОРАТИВНОГО ВЗАИМОДЕЙСТВИЯ НА ОТРАСЛЕВОМ И РЕГИОНАЛЬНОМ УРОВНЕ..………………………………………….77 Пирогова Е.В. Адрес редакции: 141070, Королев, ПРОЕКТИРОВАНИЕ, КОНСТРУКЦИЯ Ул. Октябрьская,10а И ПРОИЗВОДСТВО ЛЕТАТЕЛЬНЫХ АППАРАТОВ Тел. (495)543-34-31 (доб.138), E-mail: rio-kimes@mail.ru, Site: www.unitech-mo.ru Редакция не несет ответственности за достоверность информации в матеАббасова Т.С., Мудрецов А.В. МОДЕЛИ И МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ ДЛЯ АНАЛИЗА ДАННЫХ О КОСМИЧЕСКИХ ОБЪЕКТАХ………..…………………………..…..……………..94 риалах, в том числе рекламных, предоставленных авторами для публикации Материалы приводятся в авторской редакции.
J РЕДАКЦИОННЫЙ СОВЕТ 1. Барканов Е.Н., Dr.sc.ing. 2. Васильев Н.А., д.т.н., профессор 3. Леоненко Д.В., д.ф.-м.н., профессор Лобанов И.Е. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ВЛИЯНИЯ НЕИЗОТЕРМИЧНОСТИ НА ГИДРОСОПРОТИВЛЕНИЕ И ТЕПЛООБМЕН В ТРУБАХ С ПОЛУКРУГЛЫМИ ТУРБУЛИЗАТОРАМИ ДЛЯ ТЕПЛООБМЕННИКОВ ЛЕТАТЕЛЬНЫХ АППАРАТОВ…………………….…..……105 4. Тимофеев А.Н., д.т.н., профессор РЕДАКЦИОННАЯ КОЛЛЕГИЯ Стрельцова Г.А., Исаева Г.Н. ПРИМЕНЕНИЕ MBSE-МЕТОДОЛОГИЙ ПРИ СОЗДАНИИ АЭРОКОСМИЧЕСКИХ СИСТЕМ.…………..123 1. Аббасов Э.М., к.т.н. МАТЕРИАЛОВЕДЕНИЕ 2. Аббасова Т.С., к.т.н., доцент 3. Бухаров С.В., д.т.н., профессор 4. Бершадский В.А., д.т.н., профессор кафедры Бабкин Д.С. РАЗРАБОТКА МЕТАЛЛОМАТРИЧНОГО СЛОИСТОГО КОМПОЗИЦИОННОГО МАТЕРИАЛА СИСТЕМЫ TI-C С ПРИМЕНЕНИЕМ БАРЬЕРНЫХ СЛОЕВ…………………………………………………………...137 5. Воловач В.И., д.т.н., профессор 6. Кучеров Б.А., к.т.н. 7. Логачев И.А., к.т.н. Кашапов Л.Н., Кудрявый А.Д., Чебакова В.Ю., Кормушин К.В. ВЛИЯНИЕ ВЫДЕЛЕНИЯ ВОДОРОДА НА ПРОЦЕССЫ ОСАЖДЕНИЯ ЦИНКА……………………….143 8. Логачева А.И., д.т.н., профессор 9. Макаров М.И., д.т.н., профессор 10. Матвиенко Ю.Г., д.т.н., профессор Скрябин М.Л. ИССЛЕДОВАНИЕ ВЛИЯНИЯ ВИДА РАСКИСЛИТЕЛЯ НА НАЛИЧИЕ НЕМЕТАЛЛИЧЕСКИХ ВКЛЮЧЕНИЙ В СТАЛЬНЫХ ОТЛИВКАХ..……………………………………163 11. Мороз А.П., д.т.н., профессор 12. Мосалов О.П., к.ф.-м.н. 13. Разумовский И.М., д.ф.-м.н., профессор 14. Рудаков В.Б., д.т.н., Спирин Б.Л., Фролов С.В., Абразумов В.В. АНАЛИЗ ВОЗМОЖНЫХ МЕХАНИЗМОВ РАЗРУШЕНИЯ ЛАМИНИРОВАННЫХ КОМПОЗИЦИОННЫХ МАТЕРИАЛОВ С ИСПОЛЬЗОВАНИЕМ МОДЕЛИ………………………….173 профессор 15. Самаров Е.К., д.т.н., доцент 16. Скрябин М.Л., к.т.н. 17. Соляной В.Н., к.т.н. 18. Стреналюк Ю.В., д.т.н., профессор 19. Халиулин В.И., д.т.н., профессор 20. Чесноков А.В., д.т.н. 21. Щурин К.В., д.т.н., профессор Подписано в печать 08.12.2023 Формат B5 Печать офсетная. Усл.печ.л. 11,8 Тираж 500 экз. Заказ №95-04 Отпечатано в типографии ООО «Научный консультант» г. Москва Хорошевское шоссе, 35, корп. 2
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ УДК 004.9 Анализ использования модуля преобразования таблиц Visual Foxpro в формат SQL dump в системах документооборота Владислав Игоревич Вальс, программист, ФБУЗ Центр гигиены и эпидемиологии, г. Москва В данной научной статье представлен программный модуль, предназначенный для преобразования баз данных формата XBase, в том числе таблиц FoxPro с memo файлами, в формат SQL dump. Главной особенностью является отсутствие зависимостей, за исключением стандартных библиотек Unix, что делает его удобным для установки и использования на различных операционных системах. Инструмент основан на коде проекта PgDBF, который был разработан с целью максимального увеличения скорости и эффективности преобразования данных. Результаты использования данного модуля могут оказать существенное влияние на процессы обработки и анализа данных за счет упрощения перевода информации из формата XBase в формат SQL и внести вклад в область управления и анализа баз данных в системах электронного документооборота. Visual FoxPro, XBase, Unix, Документооборот, разработка. Analysis of the usage of Visual Foxpro table conversion module to SQL dump format in document management systems Vladislav Igorevich Vals, programmer, Federal Budgetary Educational Institution of Health, the Center for Hygiene and Epidemiology, Moscow This scientific article introduces a software module designed for converting XBase format databases, including FoxPro tables with memo files, into SQL dump format. Its main feature is the absence of dependencies, except for standard Unix libraries, making it convenient for installation and use on various operating systems. The tool is based on the code of the PgDBF project, developed to maximize the speed and efficiency of data conversion. The results of using this module can significantly impact data processing and analysis processes by simplifying the translation of information from XBase format to SQL format, contributing to the field of database management and analysis in document management systems. Visual FoxPro, XBase, Unix, Document Management, Development. Введение. На данный момент при разработке систем электронного документооборота возникает проблема использования разных типов данных. Например использование баз данных SQL, PostgreSQL и подобных которые являются Информационно-технологический вестник № 4(38) 2023 3
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ более новыми технологиями использование которых повышает эффективность и скорость разработанных систем электронного документооборота. Таким образом, целью данного проекта стала разработка модуля благодаря которому станет возможным преобразование документов Visual FoxPro в формат который может быть прочитан в базах данных SQL. При разработке модуля преобразования были поставлены следующие критерии которым должен отвечать проект: Простота. Код должен быть понятным для любого, кто хочет его изменить. Надежность. Каждый вызов системной функции проверяется на успешное выполнение. Скорость. Проект задуман для достижения максимальной скорости конвертации среди доступных решений. Полнота. Он полностью поддерживает файлы для заметок FoxPro. Переносимость. Модуль работает на 32- и 64-битных системах, а также на архитектурах как little-endian (например, x86), так и big-endian (например, PowerPC). Скорость преобразования, как правило, ограничивается скоростью чтения жестких дисков. Стрипированный массив быстрых дисков может обеспечить хорошее питание для работы модуля на системе с одним процессором. Одной из проблем являются файлы для заметок, которые могут стать внутренне фрагментированными, поскольку создаются, удаляются и обновляются поля для заметок. Для получения наилучших результатов рассмотрите возможность размещения файлов DBF и FPT на RAM-диске, чтобы избежать задержки при поиске, как это бывает с вращающимися жесткими дисками, или используйте файловую систему, такую как ZFS, которая активно кэширует данные [2]. Один особенно фрагментированный таблица размером 160 МБ с полями для заметок ранее занимала более трех минут на файловой системе FreeBSD UFS2. Перемещение файлов на RAM-диск сократило время конвертации до примерно 1.2 секунд. Одна из тестовых таблиц, используемых во время разработки, состоит из файла DBF размером 280 МБ и файла для заметок размером 660 МБ. PgDBF преобразует их в таблицу PostgreSQL с более чем 1.3 миллиона строк примерно за 11 секунд, что составляет почти 120,000 строк в секунду. Результаты. В программном коде, который написан на C используются стандартные библиотеки C, которые предоставляют функциональность для работы с различными типами данных, вводом-выводом, управлением памятью и строками. Конкретно используются следующие библиотеки: 1. <stdint.h>: набор типов данных с фиксированными размерами (например, int8_t, int16_t, int32_t, int64_t), что позволяет точно определить размер данных в байтах, независимо от платформы. 2. <stdio.h>: Функции для работы с вводом и выводом, такие как printf, fprintf, fopen, fclose, и другие. Информационно-технологический вестник № 4(38) 2023 4
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ 3. <stdlib.h>: Функции для работы с динамической памятью и управления программой, такие как malloc, free, и exit. 4. <string.h>: Функции для работы со строками, такие как memcpy, strcpy, strlen, и другие. Также в проекте определены несколько макроопределений (define), которые устанавливают значения некоторых констант: STATICBUFFERSIZE устанавливает размер статического буфера в байтах, который используется для временного хранения данных. DBFBATCHTARGET устанавливает целевой размер пакета, который планируется считывать из DBF-файла за один раз. NUMERICMEMOSTYLE и PACKEDMEMOSTYLE – это числовые константы, возможно, используемые в другой части программы для определения стиля хранения данных в memo-полях. Ниже представлены исходные структуры использованные в проекте. typedef struct { int8_t signature; int8_t year; int8_t month; int8_t day; uint32_t recordcount; uint16_t headerlength; uint16_t recordlength; int8_t reserved1[2]; int8_t incomplete; int8_t encrypted; int8_t reserved2[4]; int8_t reserved3[8]; int8_t mdx; int8_t language; int8_t reserved4[2]; } DBFHEADER; typedef struct { char name[11]; char type; int32_t memaddress; uint8_t length; uint8_t decimals; int16_t flags; char workareaid; char reserved1[2]; char setfields; char reserved2[7]; char indexfield; Информационно-технологический вестник № 4(38) 2023 5
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ } DBFFIELD; typedef struct { char nextblock[4]; char reserved1[2]; char blocksize[2]; char reserved2[504]; } MEMOHEADER; typedef struct { char *formatstring; int memonumbering; } PGFIELD; Каждая структура имеет свои поля для хранения различных атрибутов и характеристик данных в соответствующих форматах. 1. DBFHEADER – Описание для заголовка DBF-файла. Этот заголовок содержит информацию о файле, такую как дата создания, количество записей, длина заголовка, длина записи и другие параметры. 2. DBFFIELD – Хранение описания полей в DBF-файле. Каждое поле имеет имя, тип данных, длину, количество десятичных знаков и другие атрибуты, такие как флаги. 3. MEMOHEADER – Описывает заголовок memo-файла. В DBFфайлах могут храниться длинные текстовые данные, и заголовок memo-файла содержит информацию о способе хранения и доступа к таким данным. 4. PGFIELD – Формат поля данных в PostgreSQL. Она содержит строку формата (formatstring) и число (memonumbering), вероятно, используемое для учета номеров memo-записей. Перечисленные структуры являются ключевыми элементами для обработки данных в DBF-файлах и их преобразования в формат PostgreSQL, поскольку они предоставляют информацию о структуре и типах данных, необходимую для правильной интерпретации и обработки данных в этих файлах. В модуле предусмотрен обработчик ошибок который реализован с помощью функции «exitwitherror» static void exitwitherror(const char *message, const int systemerror) { if(systemerror) { perror(message); } else { fprintf(stderr, "%s\n", message); } exit(EXIT_FAILURE); } Информационно-технологический вестник № 4(38) 2023 6
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ Данная функция, определенная как exitwitherror, является процедурой, предназначенной для обработки ошибок в программе. Она принимает два параметра: указатель на символьный массив message и целое число systemerror. Название функции, exitwitherror, отражает ее назначение – завершение программы с обработкой ошибки. Функция exitwitherror действует следующим образом: 1. В зависимости от значения параметра systemerror, она выполняет различные операции: Если systemerror равно ненулевому значению, то функция вызывает стандартную библиотечную функцию perror для вывода дополнительной информации об ошибке, связанной с системой, на стандартный вывод ошибок (stderr). В противном случае (если systemerror равно нулю), функция использает функцию fprintf для вывода сообщения об ошибке, хранящегося в message, на стандартный вывод ошибок (stderr). 2. После вывода сообщения об ошибке на stderr, функция вызывает стандартную функцию exit с аргументом EXIT_FAILURE. Это приводит к завершению выполнения программы и возврату кода завершения, указывающего на ошибочное завершение программы. Таким образом, функция exitwitherror предназначена для обработки ошибок, связанных с выполнением программы, путем вывода информации об ошибке и завершения программы с указанием, что она завершилась с ошибкой (EXIT_FAILURE). Это важный механизм обработки и уведомления ошибках, который обеспечивает корректное завершение программы при возникновении исключительных ситуаций. static void safeprintbuf(const char *buf, const size_t inputsize) { char *targetbuf; const char *s; const char *lastchar; char *t; int realsize = 0; if(*buf == '\0') { printf("''"); return; } for(s = buf + inputsize - 1; s >= buf; s--) { if(*s != ' ' && *s != '\0') { break; } } Информационно-технологический вестник № 4(38) 2023 7
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ if(s < buf) { printf("''"); return; } lastchar = s; realsize = s - buf + 1; if(realsize * 2 < STATICBUFFERSIZE) { targetbuf = staticbuf; } else { targetbuf = malloc(realsize * 2 + 1); if(targetbuf == NULL) { exitwitherror("Unable to malloc the escape output buffer", 1); } } t = targetbuf; for(s = buf; s <= lastchar; s++) { switch(*s) { case '\\': *t++ = '\\'; *t++ = '\\'; break; case '\n': *t++ = '\\'; *t++ = 'n'; break; case '\r': *t++ = '\\'; *t++ = 'r'; break; case '\t': *t++ = '\\'; *t++ = 't'; break; default: *t++ = *s; } } *t = '\0'; printf("'%s'", targetbuf); if(targetbuf != staticbuf) { free(targetbuf); } } Информационно-технологический вестник № 4(38) 2023 8
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ Функция с наименованием «safeprintbuf» представляет собой процедуру, включенную в программный код, имеющую своей целью безопасное формирование и вывод текстовой строки на стандартный вывод информации. Эта функция разработана с учетом необходимости обработки строк, содержащих специальные символы, включая символы управления, такие как обратный слеш и управляющие последовательности, с целью избежания искажения данных или ошибок при последующей интерпретации. Процедура принимает два входных параметра: указатель на символьный массив, представляющий собой исходную строку (buf), и размер данной строки (inputsize). Основное действие функции safeprintbuf включает следующие этапы: 1. Проверка строки на наличие пустых символов: Если начальный символ исходной строки buf является нуль-терминатором (пустой строкой), функция немедленно выводит двойные одинарные кавычки ('') и завершает выполнение. 2. Удаление конечных пробелов и нуль-терминаторов: Функция производит обход строки, начиная с ее конца, с целью выявления последнего непробельного символа и установки указателя lastchar на этот символ. Это позволяет избежать вывода избыточных пробелов. 3. Проверка строки на пустоту после удаления пробелов: Если указатель lastchar оказывается меньше, чем начало строки buf, это свидетельствует о том, что исходная строка была пустой или состояла только из пробелов. В таком случае функция также выводит двойные одинарные кавычки ('') и завершает выполнение. 4. Выделение буфера для «очищенной» строки: Функция определяет длину «очищенной» строки и проверяет, может ли она быть размещена в статическом буфере с фиксированным размером (STATICBUFFERSIZE). Если длина «очищенной» строки оказывается меньше или равной половине размера STATICBUFFERSIZE, функция просто настраивает указатель targetbuf на статический буфер staticbuf. 5. Выделение динамической памяти (по необходимости): Если размер «очищенной» строки оказывается больше половины размера STATICBUFFERSIZE, функция выделяет дополнительную динамическую память и настраивает указатель targetbuf на эту дополнительно выделенную область. Если операция выделения памяти завершается неудачей, функция вызывает другую функцию exitwitherror с информацией об ошибке и завершает выполнение программы. 6. Копирование и экранирование символов: Функция копирует символы из исходной строки buf в «очищенную» строку targetbuf, при этом выполняя экранирование специальных символов. Конкретно, символы '\' (обратный слеш), '\n' (перевод строки), '\r' (возврат каретки) и '\t' (горизонтальная табуляция) заменяются на соответствующие управляющие последовательности. 7. Завершение строки и вывод: Функция завершает «очищенную» строку в буфере targetbuf нуль-терминатором и выводит результат, заключая его в одинарные кавычки (''), на стандартный вывод информации. 8. Освобождение динамической памяти (по необходимости): Если для «очищенной» строки была выделена динамическая память, функция освобождает Информационно-технологический вестник № 4(38) 2023 9
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ эту память после ее использования. static int64_t nativeint64_t(const int64_t rightend) { return rightend; } static int64_t swappedint64_t(const int64_t wrongend) { return (int64_t) (((wrongend & 0xff00000000000000LL) >> 56) | ((wrongend & 0x00ff000000000000LL) >> 40) | ((wrongend & 0x0000ff0000000000LL) >> 24) | ((wrongend & 0x000000ff00000000LL) >> 8) | ((wrongend & 0x00000000ff000000LL) << 8) | ((wrongend & 0x0000000000ff0000LL) << 24) | ((wrongend & 0x000000000000ff00LL) << 40) | ((wrongend & 0x00000000000000ffLL) << 56)); } static int32_t nativeint32_t(const int32_t rightend) { return rightend; } Данный фрагмент кода включает в себя три функции, предназначенные для преобразования целочисленных значений между различными порядками байтов (endianness). 1. static int64_t nativeint64_t(const int64_t rightend) Функция nativeint64_t выполняет преобразование 64-битного целочисленного значения из его нативного (натурального) порядка байтов в тот же самый порядок байтов. Нативный порядок байтов соответствует порядку байтов, используемому на данной архитектуре компьютера. 2. static int64_t swappedint64_t(const int64_t wrongend) Функция swappedint64_t представляет собой процедуру для преобразования 64-битного целочисленного значения из одного порядка байтов в другой. Она выполняет байт-своп (инверсию порядка байтов) входного значения, переводя его из «неправильного» порядка байтов в «правильный» порядок байтов. Внутренние вычисления в этой функции основаны на битовых операциях для манипуляции байтами и их порядком. 3. static int32_t nativeint32_t(const int32_t rightend) Функция nativeint32_t служит для преобразования 32-битного целочисленного значения из его нативного порядка байтов в тот же порядок байтов. Она аналогична nativeint64_t, но применяется к 32-битным значениям. Эти функции имеют важное значение в области манипуляции данными, особенно при пересылке данных между системами с разными форматами хране Информационно-технологический вестник № 4(38) 2023 10