comment nous pouvons travailler sur les offres de minuterie avec des millisecondes (0.001) comment nous pourrions diviser deuxième que nous voulons ?? comment pourrions-nous faire face à la seconde elle-même ???Comment la fonction time() indique-t-elle l'heure actuelle et même si l'ordinateur a été mis hors tension plus tôt?
Répondre
http://computer.howstuffworks.com/question319.htm
Dans votre ordinateur (ainsi que d'autres gadgets), les pouvoirs de la batterie une puce de appelé la puce horloge temps réel (RTC). Le RTC est essentiellement une montre à quartz qui fonctionne tout le temps, que ce soit ou non. La batterie alimente cette horloge. Lorsque l'ordinateur démarre, une partie du processus est à interroger le RTC pour obtenir l'heure correcte et la date. Une petite horloge à quartz comme cela pourrait fonctionner pendant cinq à sept ans sur une petite batterie. Il est alors de remplacer la batterie.
+1 pour le bit à propos de l'interrogation du RTC au démarrage. –
La carte mère a une horloge qui se déclenche. Chaque tick représente une unité de temps. Pour être plus précis, l'horloge est généralement un cristal de quartz qui oscille à une fréquence donnée; certaines fréquences d'horloge CPU communes sont 33.33 et 40 MHz.
La fréquence d'horloge en temps réel est généralement complètement indépendante de la fréquence d'horloge du processeur. Le plus souvent quelque chose comme 32.768 KHz. –
Votre PC aura un hardware clock, alimenté par une batterie de sorte qu'il continue à fonctionner même lorsque l'ordinateur est éteint. Le PC sait à quelle vitesse son horloge fonctionne, il peut donc déterminer quand une seconde passe. Initialement, le PC ne sait pas à quelle heure il se trouve (c'est-à-dire qu'il commence juste à compter à partir de zéro), il doit donc être dit quelle est l'heure actuelle - ceci peut être réglé dans les paramètres BIOS et est stocké dans le CMOS, ou peut être obtenue via Internet (par exemple en synchronisant avec les horloges au NIST).
Pour répondre à la question principale, l'horloge du BIOS a une batterie sur votre carte mère, comme dit la réponse de Jian. Cela permet de garder le temps quand la machine est éteinte.
Pour répondre à ce que je pense que votre deuxième question est, vous pouvez obtenir la seconde de la valeur de milliseconde en faisant une division entière de 1000, comme suit:
second = (int) (milliseconds/1000);
Si vous vous demandez comment nous sommes en mesure d'obtenir le temps avec cette précision, regardez la réponse d'Esteban ... le cristal de quartz vibre à une certaine période de temps, disons 0,00001 secondes. Nous faisons juste un circuit qui compte les vibrations. Quand nous avons atteint 100000 vibrations, nous déclarons qu'une seconde est passée et met à jour l'horloge.
Nous pouvons obtenir n'importe quelle précision en comptant les vibrations de cette façon ... toute précision supérieure à la période de vibration du cristal que nous utilisons.
d'abord, qu'est-ce que "la réponse d'Esteban"? deuxième, je me suis mal compris je demande à ce sujet comment je fais la minuterie générer son événement chaque 0,001 je ne demande pas comment l'utiliser je demande comment nous le faisons comment puis-je diviser librement la seconde comme je veux? – Sherif
bien, si vous avez besoin de portions de la seconde, alors utilisez le ratio 1 seconde = 1000 millisecondes ... donc si vous voulez 1/2 seconde, ses 500 millisecondes, si vous voulez 1/5 secondes - 200 millisecondes, 1/10 secondes - 100 millisecondes et ainsi de suite ... –
Les ordinateurs connaissent l'heure car, comme vous, ils ont une montre numérique qu'ils regardent de temps en temps. Lorsque vous achetez un nouvel ordinateur ou que vous vous déplacez dans un nouveau pays, vous pouvez configurer cette montre, ou votre ordinateur peut demander à Internet l'heure, ce qui permet de l'empêcher de fonctionner lentement ou rapidement.
En tant qu'utilisateur de l'ordinateur, vous pouvez demander l'heure actuelle, ou vous pouvez demander à l'ordinateur d'agir comme un réveil.Certains ordinateurs peuvent même s'allumer à un moment donné, se soutenir ou vous réveiller avec un morceau préféré.
En interne, l'ordinateur peut indiquer l'heure en millisecondes, en microsecondes ou parfois même en nanosecondes. Cependant, ce n'est pas tout à fait exact, et deux ordinateurs l'un à côté de l'autre auraient des idées différentes sur le temps en nanosecondes. Mais cela peut toujours être utile. À l'avenir, l'ordinateur peut définir une alarme pour quelques millisecondes, ce qui lui permet généralement de ne plus penser à votre programme de messagerie et de réfléchir à votre navigateur Web. Ensuite, il définit une autre alarme afin qu'il sache revenir à votre adresse e-mail quelques millisecondes plus tard.
En tant que programmeur, vous pouvez également utiliser cette fonction, par exemple vous pouvez définir une limite de temps pour un niveau dans un jeu, en utilisant un 'timer'. Ou vous pouvez utiliser une minuterie pour indiquer quand vous devriez mettre l'image suivante de l'animation sur l'affichage - peut-être 25 fois par seconde (c'est-à-dire toutes les 40 millisecondes).
Je n'ai pas de montre numérique. – Nosredna
mavric fait. Tu devrais avoir honte. –
C'est une manière très élégante d'expliquer l'emploi du temps d'un ordinateur à un novice. +1 –
Certains récapituler, et un peu plus d'informations:
1) L'ordinateur lit le temps réel-Horloge pendant le démarrage et l'utilise pour régler son horloge interne
2) A partir de là, l'ordinateur utilise uniquement l'horloge du processeur - il ne relit pas le RTC (normalement). 3) L'horloge interne de l'ordinateur est soumise à une dérive due à l'instabilité thermique, aux fluctuations de puissance, aux inexactitudes dans la recherche d'un diviseur exact en secondes, à la latence d'interruption, aux rayons cosmiques et à la phase lunaire.
4) L'amplitude de la dérive de l'horloge peut être de l'ordre de quelques secondes par jour (dizaines ou centaines de secondes par mois).
5) La plupart des ordinateurs peuvent se connecter à un serveur de temps (sur Internet) pour réinitialiser périodiquement leur horloge.
6) L'utilisation d'un serveur de temps peut augmenter la précision à quelques dizaines de millisecondes (normalement). Mon ordinateur est mis à jour toutes les 15 minutes.
Le temps absolu est archaquement mesuré à l'aide d'un compteur 32 bits de quelques secondes à partir de 1970. Cela peut provoquer le "problème 2038", où il déborde simplement. D'où les API 64 bits utilisées sur les plates-formes Windows et Unix modernes (y compris MacOS basé sur BSD).
Très souvent, un utilisateur de PC s'intéresse aux intervalles de temps plutôt qu'au temps absolu depuis qu'un événement profond a eu lieu. Une implémentation commune d'un ordinateur a des choses appelées temporisations qui permettent justement cela. Ces minuteries peuvent même fonctionner lorsque le PC n'a pas pour fonction d'interroger le matériel pour l'état de réveil, de changer de mode de veille ou de sortir du mode veille. Les docs de processeur d'Intel vont dans les détails incroyables à propos de ceux-ci.
est ce Haiku? ... –
Je pense que c'est une question légitime; peut-être juste des problèmes de langue? De toute façon, je suis allé de l'avant et édité. –
Merci, je suis juste un débutant. – Sherif