우리가 밀리 세컨드 (0.001)로 타이머 거래를 할 수있는 방법 우리가 원하는만큼 초를 나누는 방법 ?? 우리는 어떻게 우리가 두 번째 자체를 다룰 수 있었습니까?함수 time()은 현재 시간을 알려주며 컴퓨터가 더 일찍 꺼져있는 경우에도 어떻게됩니까?
답변
http://computer.howstuffworks.com/question319.htm
컴퓨터에서(뿐만 아니라 다른 가제트), 배터리 파워 칩 는 실시간 클럭 (RTC) 칩을했다. RTC는 본질적으로 컴퓨터에 전원이 공급되는지 여부에 관계없이 항상 실행되는 쿼츠 시계 입니다. 배터리 이이 시계에 전원을 공급합니다. 컴퓨터가 부팅 될 때 날짜와 올바른 시간을 얻기 위해 RTC를 쿼리하는 과정은 입니다. 과 같은 작은 석영 시계는 5 ~ 7 년 동안 사용할 수 있습니다. 작은 배터리를 사용하지 마십시오. 그런 다음 배터리 교체시기는 입니다.
+1 시동시 RTC를 질의하는 것에 대한 +1. –
마더 보드의 시계에는 틱이 있습니다. 모든 틱은 시간 단위를 나타냅니다.
클럭은 일반적으로 주어진 주파수에서 오실 레이션 (oscilate)하는 수정입니다. 일반적인 CPU 클럭 주파수는 33.33MHz와 40MHz입니다.
실시간 클럭 주파수는 일반적으로 CPU 클럭 주파수와 완전히 관련이 없습니다. 대부분 32.768 KHz와 같은 것입니다. –
컴퓨터의 전원이 꺼져있는 동안에도 컴퓨터는 배터리로 전원을 공급받으며 hardware clock입니다. PC는 클럭이 얼마나 빨리 실행되는지를 알고 있기 때문에 초가 언제 걸릴지를 결정할 수 있습니다.
처음에는 PC가 현재 시간이 무엇인지 알 수 없으므로 (예 : 0부터 계산하기 시작 함) 현재 시간을 알려야합니다. 이는 BIOS 설정에서 설정할 수 있으며 CMOS 또는 인터넷을 통해 얻을 수 있습니다 (예 : NIST의 시계와 동기화).
주된 질문에 답하기 위해 BIOS 시계에는 마더 보드에 배터리가 있습니다. Jian의 답변에 나온 것처럼 말입니다. 그것은 기계가 꺼져있는 시간을 유지합니다. 우리가있어 방법을 묻는 경우
second = (int) (milliseconds/1000);
: 내가 두 번째 질문은 무슨 생각을
당신과 같이, 1000 정수 나누기를 수행하여 밀리 초 값에서 두 번째를 얻을 수 있습니다, 대답하기 위해 그 정확도로 시간을 얻을 수 있다면, 에스테반의 대답을보십시오 ... 쿼츠 크리스털은 특정 기간, 즉 0.00001 초 진동합니다. 우리는 단지 진동을 세는 회로를 만듭니다. 진동이 100,000에 도달하면 초가 지나고 시계를 업데이트한다고 선언합니다.우리는이 방법으로 진동을 계산하여 정확성을 얻을 수 있습니다 ... 우리가 사용하는 수정 진동의주기보다 큰 정확도.
먼저 에스테반의 대답은 무엇입니까? 둘째로, 나는 오해했다. 나는 타이머가 어떻게 그것의 이벤트를 생성하는지에 대해 물어 본다. 0.001 나는 그것을 사용하는 방법을 묻지 않는다. 나는 우리가 그것을 만드는 방법에 관해 묻는다. 내가 원하는대로 두 번째로 자유롭게 나눌 수있는 방법은 무엇인가? – Sherif
음, 두 번째 부분이 필요할 경우 1 초 = 1000 밀리 초 비율을 사용하십시오. 1/5 초를 원하는 경우 1/2 초, 500 밀리 초, 1/5 초 - 200 밀리 초, 1/10 초 - 100 밀리 초 등 ... –
컴퓨터는 때때로 당신이 디지털 시계를 가지고 있기 때문에 시간을 알고 있기 때문에 컴퓨터는 시간을 알고 있습니다.
새 컴퓨터를 구입하거나 새 국가로 이사 할 때 시계를 설정할 수 있습니다. 그렇지 않으면 컴퓨터가 인터넷에 시간을 물어볼 수 있습니다. 그러면 느리게 실행되거나 빠르게 실행되는 것을 막을 수 있습니다.
컴퓨터 사용자는 현재 시간을 묻거나 컴퓨터에 알람 시계로 작동하도록 요청할 수 있습니다.일부 컴퓨터는 특정 시간에 스스로를 켜거나 스스로를 뒤로 젖히거나 좋아하는 곡으로 당신을 깨울 수 있습니다.
내부적으로 컴퓨터는 밀리 초, 마이크로 초 또는 때때로 나노초로 시간을 알릴 수 있습니다. 그러나 이것은 완전히 정확하지 않으며 서로 옆에있는 두 대의 컴퓨터가 시간에 대해 나노초 단위로 다른 아이디어를 가지고 있습니다. 그러나 여전히 유용 할 수 있습니다.
컴퓨터는 앞으로 수 밀리 초 동안 알람을 설정할 수 있으며 일반적으로 전자 메일 프로그램에 대한 생각을 멈추고 웹 브라우저에 대해 생각하는 데 시간을 할애 할 수 있습니다. 그런 다음 몇 밀리 초 후에 다시 전자 메일로 돌아갈 수 있도록 다른 경고를 설정합니다.
프로그래머는이 기능을 사용할 수도 있습니다. 예를 들어 '타이머'를 사용하여 게임의 한 수준에 시간 제한을 설정할 수 있습니다. 또는 타이머를 사용하여 애니메이션의 다음 프레임을 디스플레이에 표시해야 할 때를 알려줄 수 있습니다. 아마도 1 초에 25 번 (즉, 40 밀리 초마다).
디지털 시계가 없습니다. – Nosredna
mavric 않습니다. 부끄러워해야합니다. –
이것은 초보자에게 컴퓨터 시간을 설명하는 매우 우아한 방법입니다. +1 –
일부 요점을 되풀이하고, 좀 더 많은 정보를 원하시면 :
1) 컴퓨터가 부팅 중에 실시간 클럭을 읽고, 그게 그때부터 내부 시계
2)의 설정하기 위해 사용하는, 컴퓨터는 CPU 클럭 만 사용합니다. RTC는 정상적으로 다시 읽지 않습니다.
3) 컴퓨터의 내부 시계는 열 불안정, 전력 변동, 초에 대한 정확한 제수를 찾는 데있어서의 부정확성, 지연 시간, 우주 광선 및 달의 위상으로 인해 드리프트가 발생할 수 있습니다.
4) 시계 드리프트 크기는 하루에 초 단위 일 수 있습니다 (한 달에 수십 또는 수십 초).
5) 대부분의 컴퓨터는 시계를 주기적으로 재설정하기 위해 인터넷을 통해 시간 서버에 연결할 수 있습니다.
6) 시간 서버를 사용하면 수십 밀리 초 (일반적으로) 이내에 정확도를 높일 수 있습니다. 내 컴퓨터는 15 분마다 업데이트됩니다.
절대 시간은 1970 년부터 초의 32 비트 카운터를 사용하여 고풍 측정됩니다. 이로 인해 오버플로되는 "2038 문제"가 발생할 수 있습니다. 따라서 최신 Windows 및 Unix 플랫폼 (BSD 기반 MacOS 포함)에서 사용되는 64 비트 시간 API.
PC 사용자는 심오한 사건이 발생한 후 절대 시간이 아닌 시간 간격에 관심을 갖는 경우가 많습니다. 일반적으로 컴퓨터를 구현할 때 타이머가 호출되므로이를 수행 할 수 있습니다. 이러한 타이머는 PC가 웨이크 업 상태, 절전 모드 전환 또는 절전 모드 해제를 위해 하드웨어를 폴링 할 목적이 아닌 경우에도 실행될 수 있습니다. 인텔의 프로세서 문서는 이것에 대한 놀라운 세부 정보를 제공합니다.
이 Haiku입니까? ... –
나는 그것이 합법적 인 질문이라고 생각한다; 어쩌면 언어 문제일까요? 어쨌든, 나는 앞서 가서 편집했다. –
고마워, 나는 단지 초보자이다. – Sherif