Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ: +

Отправлено Mim 07 февраля 2008 г. 15:18
В ответ на: А может, кто быстрый алгоритм вычисления дня недели сделает? (+) отправлено БУБУ 07 февраля 2008 г. 14:47

//Функция выдает правильный результат для промежутка 2000 ... 2099 гг.
//Day : 1..31,Month: 1..12,Year: 0..99; DayOfWeek: 1..7 (Вс..Сб)
static const unsigned char MONTH[12]={0,3,3,6,1,4,6,2,5,0,3,5};
static const unsigned char YEARS[4]={0,2,3,4};
unsigned char DayOfWeek(unsigned char Day,unsigned char Month,unsigned char Year)
{
char a,b,c,tmp;
tmp=Year+4;
a=tmp&0x03;
b=(tmp>>2)+(tmp&0xFC);
c=MONTH[(Month-1)];
if((!a)&&((Month-1)>1)) c++;
a=YEARS[a];
return (a+b+c+Day)%7+1;
}


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 56:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru