A voir également:
- Simuler une horloge c++
- Horloge mondiale gratuite - Télécharger - Outils professionnels
- Appli horloge - Télécharger - Guide Android
- Horloge en ligne aesthetic - Télécharger - Thèmes & Fonds d'écran
- Horloge Mondiale - Télécharger - Divers Utilitaires
- Widget horloge windows 11 - Guide
5 réponses
Nanosecondes : impossible !
Avec un processeur à 1 GHz tu peux faire une opération par nanoseconde.
Actuellement les processeurs sont de l'ordre de 3 GHz (soit 3 opérations par nanoseconde) donc à moins que ton programme n'ai que 3 instructions à exécuter par top d'horloge, tu ne pourras jamais atteindre l'ordre de grandeur du nanoseconde !
À titre de comparaison les horloges atomiques au Césium ont une fréquence de 9.2 GHz, même avec ça tu n'arriverais pas à faire ton programme précis à la nanoseconde près !
Donc en étant exigeant dans la limite du raisonnable, tu devras te contenter des microsecondes, commence tes recherches par gettimeofday
La confiance n'exclut pas le contrôle
Avec un processeur à 1 GHz tu peux faire une opération par nanoseconde.
Actuellement les processeurs sont de l'ordre de 3 GHz (soit 3 opérations par nanoseconde) donc à moins que ton programme n'ai que 3 instructions à exécuter par top d'horloge, tu ne pourras jamais atteindre l'ordre de grandeur du nanoseconde !
À titre de comparaison les horloges atomiques au Césium ont une fréquence de 9.2 GHz, même avec ça tu n'arriverais pas à faire ton programme précis à la nanoseconde près !
Donc en étant exigeant dans la limite du raisonnable, tu devras te contenter des microsecondes, commence tes recherches par gettimeofday
La confiance n'exclut pas le contrôle
euh!... J'avoue que je n'ai pas trop compris ce que tu voulais dire, peut-être que que je me suis mal exprimée....
Dans mon projet, je m'intéresse pas à un traitement temps réel, j'aurais juste besoin d'un objet horloge qui me fait sortir des valeurs séparés d'un pas de 10 puissance -9, ou je vais stocker dans un vector de double...
J'ai tenté le code ci-après. Je sais que j'ai mis une boucle infinie qui bloque le programme, mais je ne sais pas quoi mettre dans la condition:
Clock.h
class Clock
{
private:
double m_timer;
std::vector<double> m_time;
public:
Clock();
~Clock();
std::vector<double> getm_time();
void startClock();
};
Clock.cpp
Clock::Clock(): m_timer(0)
{
m_time.push_back(m_timer);
}
Clock::~Clock()
{
}
vector<double> Clock::getm_time()
{
return m_time;
}
void Clock::startClock()
{
while (1)
{
m_timer=m_timer+1/1e9;
m_time.push_back(m_timer);
}
}
Merci de m'aider..
Dans mon projet, je m'intéresse pas à un traitement temps réel, j'aurais juste besoin d'un objet horloge qui me fait sortir des valeurs séparés d'un pas de 10 puissance -9, ou je vais stocker dans un vector de double...
J'ai tenté le code ci-après. Je sais que j'ai mis une boucle infinie qui bloque le programme, mais je ne sais pas quoi mettre dans la condition:
Clock.h
class Clock
{
private:
double m_timer;
std::vector<double> m_time;
public:
Clock();
~Clock();
std::vector<double> getm_time();
void startClock();
};
Clock.cpp
Clock::Clock(): m_timer(0)
{
m_time.push_back(m_timer);
}
Clock::~Clock()
{
}
vector<double> Clock::getm_time()
{
return m_time;
}
void Clock::startClock()
{
while (1)
{
m_timer=m_timer+1/1e9;
m_time.push_back(m_timer);
}
}
Merci de m'aider..
Bonjour
Je ne comprends pas très bien ta demande. Tu parles de simulation. Si c'est vraiment une simulation que tu cherches à faire, tu n'as aucun besoin d'une véritable horloge, un simple compteur suffit.
Si tu as vraiment besoin d'une horloge, je rejoins KX, n'y compte pas avec un PC même haut de gamme. Avec des circuits logiques programmables, ce n'est pas complètement exclu, mais ça demande des compétences
Je ne comprends pas très bien ta demande. Tu parles de simulation. Si c'est vraiment une simulation que tu cherches à faire, tu n'as aucun besoin d'une véritable horloge, un simple compteur suffit.
Si tu as vraiment besoin d'une horloge, je rejoins KX, n'y compte pas avec un PC même haut de gamme. Avec des circuits logiques programmables, ce n'est pas complètement exclu, mais ça demande des compétences
Bonjour,
Effectivement, c'est d'un compteur que j'aurai besoin puisque je ne cherche pas vraiment le temps système ni sa performance en calcul..
Auriez vous une proposition pour arrêter mon compteur....
Merci :)
Effectivement, c'est d'un compteur que j'aurai besoin puisque je ne cherche pas vraiment le temps système ni sa performance en calcul..
Auriez vous une proposition pour arrêter mon compteur....
Merci :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il te suffirait juste de prendre trois unsigned int, qui compteraient le nombre de siècles, de secondes, et de nanosecondes. Ce sera bien plus précis que des double.
Avec ça tu devrais tenir plus de 400 milliards d'années à la nanoseconde près !
Avec ça tu devrais tenir plus de 400 milliards d'années à la nanoseconde près !
Je rigole pas non plus !
En fait il y a encore mieux, tu prends un unsigned long long int pour compter les nombres de secondes, ça te fait au maximum 2^64 secondes (soit 584.6 milliards d'années)
Et tu t'aides d'un unsigned long int (maximum = 4,3.10^9) pour compter les nanosecondes...
Et si je dis que c'est plus précis que les double c'est à cause des arrondis, qui sont trop importants avec les double pour ce que tu veux faire !
En fait il y a encore mieux, tu prends un unsigned long long int pour compter les nombres de secondes, ça te fait au maximum 2^64 secondes (soit 584.6 milliards d'années)
Et tu t'aides d'un unsigned long int (maximum = 4,3.10^9) pour compter les nanosecondes...
Et si je dis que c'est plus précis que les double c'est à cause des arrondis, qui sont trop importants avec les double pour ce que tu veux faire !