ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2081|回复: 13

[已解决] 一个关于时间的疑问

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-3-10 19:18 | 显示全部楼层 |阅读模式
各位哥哥姐姐们晚上好,我想请教一下:为什么时间函数time函数的参数的取值都是0到32767之间的数值,为什么不能是32768或者更大一点的数呢?不懂。。。

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-3-10 20:31 | 显示全部楼层
这个涉及到专业问题了。。可以查阅相关的资料!
但我所知道所有石钟表和时间 相关类的都都是用32.768KHZ晶振来产生的振荡信号。。
而且生产的表都要测试这个频率。。高于这个值时间就会走得快。。低于此值就会慢。。
以下
32.768KHZ是一个很特殊的频率,32.768KHZ的时钟晶振产生的振荡信号经过石英钟内部分频器进行15次分频后得到1HZ秒信号,即秒针每秒钟走一下,石英钟内部分频器只能进行15次分频,要是换成别的频率的晶振,15次分频后就不是1HZ的秒信号,时钟就不准了.

评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-3-10 21:03 | 显示全部楼层
如图显示为+4PPM 也就是说每跑1百万秒的时候这颗表会快出4秒。。。1个月会快出约11-12秒。一年约2分钟
。。。误差越大时说明时间越不准确!
1583844883(1).png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-3-10 21:06 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-3-10 21:12 | 显示全部楼层
这个数字是比较有意思的一个数字,和微软有关吧。

Excel有个数字65536,这是原来表格最大行数。这个数字是2^16,这个数字和以前电脑的存储大小有关,而32767好像是正数最大值,是65536的一半,因为整数是包含负数和正数的,具体我也不懂,

TA的精华主题

TA的得分主题

发表于 2020-3-10 21:22 来自手机 | 显示全部楼层
jians0529 发表于 2020-3-10 20:31
这个涉及到专业问题了。。可以查阅相关的资料!
但我所知道所有石钟表和时间 相关类的都都是用32.768KHZ晶 ...

这个靠谱

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-3-10 21:36 | 显示全部楼层
jians0529 发表于 2020-3-10 20:31
这个涉及到专业问题了。。可以查阅相关的资料!
但我所知道所有石钟表和时间 相关类的都都是用32.768KHZ晶 ...

这个太专业了,厉害,佩服

这么说来,是计算机的计时硬件受到了晶振的限制,进而限制了计算机计时数字最大只能是2^15,导致计算机存储整型数字最大只能是二进制的15位,正负2^15就是2^16个数字。

看这个,让我想起,火车轨道宽度,来源于欧洲马车的宽度,马车的宽度来源于古罗马战车宽度,而这个宽度是由马屁股的宽度来决定的,文明起源啊

评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-10 21:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jians0529 发表于 2020-3-10 20:31
这个涉及到专业问题了。。可以查阅相关的资料!
但我所知道所有石钟表和时间 相关类的都都是用32.768KHZ晶 ...

谢谢您,虽然我不是很明白,但是,是不是大致这个意思:     假如数值大于32767,那么时间time函数就会返回跟实际数值有一定误差的数值,数值越大,误差就越大呢?

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-3-10 22:19 | 显示全部楼层
王嘉玲 发表于 2020-3-10 21:58
谢谢您,虽然我不是很明白,但是,是不是大致这个意思:     假如数值大于32767,那么时间time函数就会返 ...

啊哈,老师说的晶振是涉及计算机硬件的知识

而你说的time函数,那是软件的知识。之间有什么关联先不去研究,因为time的代码咱们看不到。

time函数的代码限制了不允许大于这个数字,也就不存在大于这个数字时是不是有误差的问题。

Excel数据的类型,是有限制的,比如integer,只能是-32768~32767之间的数字,那么对于time来说,假设它的代码对参数进行了限制必须为大于等于零的integer,那么输入超过32767的整数是不可能的,因为不存在这样的数字,但是可以输入32767.9,因为输入小数时会进行取整变为integer,猜测这个时候对数字进行int处理。 所以time(2.2,2.2,2.2)和time(2,2,2)是一样的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-10 22:25 | 显示全部楼层
micch 发表于 2020-3-10 22:19
啊哈,老师说的晶振是涉及计算机硬件的知识

而你说的time函数,那是软件的知识。之间有什么关联先不去 ...

好的,谢谢哥哥。虽然不是很明白。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 07:25 , Processed in 0.041348 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表