Весь ХарцызскГлавная Весь Харцызск
Весь Харцызск
Весь Харцызск
   Логин:  Пароль:

14.04.2021 г. 4:25 

Виды Харцызска 

Виды Харцызска

Весь Харцызск 

  Главная
  Новости Харцызска

  Информация о Харцызске
  О городе
  Власти Харцызска
  История города
  Статистика города
  Статьи о городе
  Каталог предприятий
  Карта Харцызска
  Харцызск на карте Google

  Задать вопрос мэру Харцызска
  Юридическая консультация

  Форум
  Чат

  Фотоальбом
  Файлы
  Ссылки

  Телепрограмма 
  Гороскопы
  Анекдоты
  Игры

  Топ-10
  Поиск

  О нас
  Реклама на сайте
  Написать нам
  Рекомендовать нас
  Добавить в Избранное

Кто на сайте: 


В чате: 1


Реклама 


Поиск по сайту 




Реклама 


• 





Весь Харцызск :: Просмотр темы - Блок-схема будильника
 Правила форумаПравила   FAQFAQ   ПоискПоиск   ГруппыГруппы   ПользователиПользователи   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход  


Внимание новичков!

В связи с участившимися случаями спама, у вновь зарегистрированных пользователей отключена возможность создания сообщений на форуме. Возможность писать сообщения будет включаться администратором вручную — через некоторое время после регистрации пользователя. Для включения этой функции быстрее, пишите личное сообщение администратору сайта (в сообщении напишите кратко о себе и с какой целью регистрировались на сайте).
Обратите внимание: пользователям, нарушающим п.2.1 возможность писать сообщения включаться не будет!
Просим отнестись с пониманием: это вынужденная мера.
 

Блок-схема будильника
На страницу Пред.  1, 2, 3
 
Начать новую тему   Ответить на тему    Список форумов Весь Харцызск -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
буривесНИК
Бессмертный форумчанин
Бессмертный форумчанин


Зарегистрирован: Dec 21, 2006
Сообщения: 4823
Откуда: Харцызск=>Днепропетровск

СообщениеДобавлено: Сб Июл 04, 2009 19:36    Заголовок сообщения: Ответить с цитатой

архангел респект Exclamation имено это и хотел автор темы
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Max_K
Бессмертный форумчанин
Бессмертный форумчанин


Зарегистрирован: Jan 11, 2009
Сообщения: 3313
Откуда: СССР

СообщениеДобавлено: Сб Июл 04, 2009 23:05    Заголовок сообщения: Ответить с цитатой

Поскольку образцы рабочего кода для конвертации секунд в ч:м:с не желают никак иссякать, заделал еще пару вариантов Very Happy :

Этот вариант уже отходит от корректного математического представления кода по аналогии с кодом ТОРа №2. Это добавило скорости, и серия замеров показала, что этот вариант быстрее последнего кода ТОРа на 24%.

Код:
#include <iostream>
using namespace std ;

int main() {

int allsec=0, second, minute, hour;

//Ввод секунд

        cout << "Input seconds: " ;
        cin>>allsec;

hour  = allsec / 3600 ; // часы
second = allsec / 60; // экономим переменную :)
minute  = second - hour*60 ; //минуты текущего времени
second  = allsec - second*60 ; //секунды текущего времени

cout << "Time:" <<endl<<endl;
cout << hour << ":" << minute << ":" << second <<endl<<endl;

return 0;
}


Следующим вариантом я попытался выжать максимальное быстродействие конвертации, выполнив его в виде ассемблерной вставки:

Код:
#include <iostream>
using namespace std ;

int main() {

int allsec=0, second, minute, hour;

//Ввод секунд

        cout << "Input seconds: " ;
        cin>>allsec;

__asm {
mov eax, allsec
mov ecx, 60
xor edx, edx
div ecx
mov second, edx
xor edx, edx
div ecx
mov hour, eax
mov minute, edx
}

cout << "Time:" <<endl<<endl;
cout << hour << ":" << minute << ":" << second <<endl<<endl;

return 0;
}


Но не тут-то было, ожидания прироста скорости оказались напрасными. Этот вариант оказался в два раза медленнее(!) чем предыдущий! Проверял в двух компиляторах vc++ и mingw(тут и синтаксис ассемблера другой), результат один - ассемблерная вставка примерно в два раза медленнее!

Поэтому первый вариант кода в этом посте является на данный момент наиболее оптимальным для дальнейшего применения. Very Happy

Надеюсь увидеть еще более оптимальные варианты кода конвертации секунд в Ч:М:С

Корректная работа кода проверена в ВизуалСи++ 6.0. Проверялись значения allsec вплоть до 2000000000 Very Happy дабы исключить подозрения в недостаточном диапазоне значений переменной типа int.
_________________
"Кто к нам с мечом придет, тот от меча и погибнет!" Александр Невский
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Весь Харцызск -> Программирование Часовой пояс: GMT + 2
На страницу Пред.  1, 2, 3
Страница 3 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001 phpBB Group

Version 2.0.6 of PHP-Nuke Port by Tom Nitzschner © 2002 www.toms-home.com
Forums ©



Наверх
О нас  :: Контакт с автором  :: Реклама на сайте  :: Рекомендовать Нас
Наверх
Khartsizsk2007 theme by Весь Харцызск
Яндекс цитирования
Все логотипы и торговые марки на этом сайте являются собственностью их соответствующих владельцев. Все материалы на сайте являются собственностью их авторов. Администрация сайта может не разделять точку зрения авторов. Использование материалов сайта без разрешения администрации сайта не допускается
© 2006 - 2016 khartsizsk.com Использование материалов разрешается при условии ссылки (для интернет-изданий - гиперссылки) на сайт «Весь Харцызск»
PHP-Nuke Copyright © 2006 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. The Russiаn localizatiоn - prоjесt РhрNukе.RU
Открытие страницы: 0.03 секунды и 16 запросов к БД