Страница 372 из 478 ПерваяПервая ... 272322362370371372373374382422472 ... ПоследняяПоследняя
Показано с 3,711 по 3,720 из 4973

Тема: Области применения ПР110(примеры реализации)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    э, может не в тему, но как запихнуть год-месяц-число в 2 байта?
    можно сделать так как это было сделано ещё во времена DOSа, в FAT
    Последний раз редактировалось AI!; 20.04.2013 в 12:24.
    начинающий профессионал

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,129

    По умолчанию

    зы, я не знаю как правильно сделать...
    Да, отсчет надо начинать, так как есть высокосные года и данная цифра в 2-х байтах будет меняться от этого.
    Собственно на вход функции, макроса надо подать 3-и цисла в десятичном формате, как это воспринимает человек, не сильно напрягая мозг с переводом в hex .
    пер.1 //год - 2013
    пер.2 // месяц - 5
    пер.3 // число - 27
    На выходе получить число в 16-ричном формате 217А (ну или какое там получится по факту) в принципе с 1900 года отсчитывать не надо, можно с 2000 или даже с 2010, ибо живем мы уже тут.

    Можно, и даже лучше, в качестве переменной для нач. расчета ввести переменную высокосного года. Ну например
    пер.4 // начальный год отсчета - 2005
    пер.5 // что это за год - 3 (0 высокосный, 1 - 1-й после высокосного, 2 - 2-й, 3 - 3-й)
    И считать уже от введенных переменных 4 и 5

    Можно усовершенствовать добавив переменный 6 и 7 - число и месяц начала отсчета. И добавив второй выход функции - разница

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,612

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    зы, я не знаю как правильно сделать...
    Да, отсчет надо начинать, так как есть высокосные года и данная цифра в 2-х байтах будет меняться от этого.
    Собственно на вход функции, макроса надо подать 3-и цисла в десятичном формате, как это воспринимает человек, не сильно напрягая мозг с переводом в hex .
    пер.1 //год - 2013
    пер.2 // месяц - 5
    пер.3 // число - 27
    На выходе получить число в 16-ричном формате 217А (ну или какое там получится по факту) в принципе с 1900 года отсчитывать не надо, можно с 2000 или даже с 2010, ибо живем мы уже тут.

    Можно, и даже лучше, в качестве переменной для нач. расчета ввести переменную высокосного года. Ну например
    пер.4 // начальный год отсчета - 2005
    пер.5 // что это за год - 3 (0 высокосный, 1 - 1-й после высокосного, 2 - 2-й, 3 - 3-й)
    И считать уже от введенных переменных 4 и 5

    Можно усовершенствовать добавив переменный 6 и 7 - число и месяц начала отсчета. И добавив второй выход функции - разница
    Поднятая тема, очень смахивает на скрытую пропаганду моего предложения, вести отсчет в секундах, в моих то макросах учитывается и високосные года

  4. #4
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    зы, я не знаю как правильно сделать...
    есть много правильных решений.
    выбор за вами.

    я уже приводил ссылки на 2 варианта - UNIX-время и DOS-вариант используемый в FAT.
    ну и третий вариант - для каждого числа отдельная 8/16/32 битная переменная.
    Последний раз редактировалось AI!; 20.04.2013 в 19:05.
    начинающий профессионал

  5. #5
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,129

    По умолчанию

    capzap откровенно говоря ничего скрытого, просто сейчас нахожусь на обучении по сименс контроллерам и там одна из функций возвращает год, число и месяц именно в 2-х байтах HEX форматах отсчитывая значение от 1990 года. Проблема ввести подобное число руками, потому что надо считать. Вот и подумал. а можно ли сделать подобный макрос на ПР110(114)

    идея то простая, указав макросу начальную точку отсчета, потом запрашивать разницу исодя из проойденного времени, выставлять дату времени и т.д.

  6. #6
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    насколько я понимаю, макрос уже есть.
    он считает от 1970г

    разница между искомой датой и 1.1.1990 в летосчислении этого макроса = нужное вам летосчисление

    PS если тот макрос что ужеесть считает только в секундах, то просто надо ответ разделить на число секунд в сутках, и получим сутки.
    начинающий профессионал

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,612

    По умолчанию

    http://www.owen.ru/forum/showpost.ph...postcount=3821
    У меня же есть макросы для вычисления. И по поводу семена, никак не могу вспомнить какой тип двухбайтный, помоему там все четырехбайтные

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,129

    По умолчанию

    capzap посмотрю макросы позже, все равно голова не соображает сейчас...
    date например как раз 2-х байтный, который хранит в хексе

  9. #9
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    который хранит в хексе
    всё что в компе хранится, храниться в hex
    Последний раз редактировалось AI!; 21.04.2013 в 21:04.
    начинающий профессионал

  10. #10
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,129

    По умолчанию

    AI! имелось в виду, что он привычное 2013 04 21 будет хранить как 213F всего в двух байтах, вместо 4-х байт по два на год и месяц число
    я уж не знаю, на кой это было сделано, но жутко неудобно при попытке изменить...

Страница 372 из 478 ПерваяПервая ... 272322362370371372373374382422472 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •