Справочный центр Wialon

Пример получения параметра «tz»

Вы можете получить параметр tz с помощью побитовых операций, таких как математическое И (&) и математическое ИЛИ (|).

Пример получения «tz»

Ниже приведена инструкция для получения параметра tz для часового пояса Азорских островов (-01:00) без перехода на летнее время (DST) (0x08000000).

  1. Примените математическую операцию И к часовому поясу Азорских островов (-3600), используя маску 0xf000ffff.

    • Преобразуйте десятичное значение со знаком в двоичное, используя метод дополнительного кода.
    • Выполните операцию:
    Copied!
    -3600 & 0xf000ffff
    -268373520   
    
  2. Примените математическую операцию ИЛИ к результату, используя маску, соответствующую DST (0x08000000).

    Copied!
    -268373520 | 0x8000000
    -134155792
    

Таким образом, итоговое значение для tz равно -134155792.

Обратная операция

Чтобы получить исходное значение часового пояса (tz) из tz = -134155792, выполните следующие действия:

  1. Примените математическую операцию И к параметру tz, используя маску 0xffff:

    Copied!
    -134155792 & 0xffff
    61936
    
  2. Если исходное значение tz отрицательное (как в данном случае), примените математическую операцию ИЛИ к результату, используя маску 0xffff0000.

    Copied!
    61936 | 0xffff0000
    -3600
    

Это подтверждает, что исходное значение часового пояса равно -3600 (UTC -01:00, Азорские острова).

Дополнительная информация

  • Значение tz -134155792 в шестнадцатеричном виде равно 0xf800f1f0.
  • Применение маски 0x0fff0000 выделяет компонент перехода на летнее время.
  • Значение DST 0x08000000 указывает на отсутствие перехода на летнее время.

Таким образом, декодированный часовой пояс - UTC -01:00 (Азорские острова) без перехода на летнее время.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.

Сообщить об ошибке

Ваше сообщение отправлено. Спасибо!

Произошла ошибка при отправке формы

Скачать файл PDF
Скачать документ Word

Смотрите также