计算机语言如何计算时间间隔?

时间:2015-09-01 13:56:07

标签: time binary computer-science

我解释一下,这是一个概念问题,我们都知道计算机只能在内部使用0和1,但我的问题是如何计算时间?计算机如何知道1秒只有1秒,只有二进制0和1?

2 个答案:

答案 0 :(得分:1)

正如您所指出的,模拟电路和数字电路之间的主要区别之一是,数字电路中的有源元件往往具有离散的明确值(01)。 / p>

但另一个主要区别是,虽然模拟电路在时间上连续演变,但数字电路仅在离散时间步长时改变其状态。

最终,一切都是模拟的。必须使用模拟电路设计原理来实现数字电路中的存储器单元。所做的是创建的电路只有两个稳定状态,01状态,而任何其他状态都非常不稳定,并且很快趋向于0或{{ 1}}。国家可能会发生变化,但只是为了响应来自外部来源的大量冲动,或者至少这将是主要设计目标之一。

为了使系统更可靠,整个过程使用时钟脉冲进行同步。也就是说,通常所有电路元件都是稳定的,除非当时钟脉冲信号到达时,它们基于外部信号更新,然后它们有一些时间再次稳定,直到下一个时钟脉冲。时钟脉冲是由石英晶体产生的,由于物理和化学原因,石英晶体总是产生极其规则的信号。 https://en.wikipedia.org/wiki/Clock_generator

使硬件更快的一种方法是使所有组件在更短的时间内可靠地稳定。然后可以使时钟脉冲更快,整个计算机可以在更短的时间内完成更多的循环,而不会影响可靠性。确实很长一段时间以来计算机硬件的巨大进步都遵循了这一计划(但最终,在没有设备能够足够快地稳定之前,周期有多短是有限制的。)

因此,计算机只能使用10来跟踪时间并不奇怪。在最基础的层面上,硬件建立在精确跟踪时间的基础上。

答案 1 :(得分:0)

  

系统时间由系统时钟测量,系统时钟通常实现为自某个任意开始日期以来已经发生的滴答数的简单计数,称为纪元。   [...]   系统时间可以转换为日历时间,这是一种更适合人类理解的形式。例如,自纪元开始以来的Unix系统时间1000000000秒转​​换为日历时间2001年9月9日01:46:40 UT。

查看更多来源:https://en.wikipedia.org/wiki/System_time

编辑:将上述滴答的转换为二进制是直截了当的,对吧?