gpt4 book ai didi

c++ - 如何在树莓派上的 Arm 组装中获取纪元时间并将其转换为本地时间?

转载 作者:行者123 更新时间:2023-11-30 16:08:35 25 4
gpt4 key购买 nike

所以我正在 raspbian 上的arm汇编中编程,我试图使用c/c++库转换纪元时间,因为这是我被允许做的事情,但我对如何做感到困惑。如果我简单地 bl time 它会给我纪元时间,但我很困惑如何获取 r0 中的返回值,然后使用 C 或 C++ 库将其转换为汇编中的本地时间。我知道 localtime/gmtime 和 strftime 存在,但它不像获取纪元和 bl localtimebl strftime 那么容易。然后我想对其进行格式化,只获取本地时间,也许是上午/下午。我对日期不感兴趣。我只需要一些有用的代码,或者一些可以插入的方向。谢谢

编辑:如果使用数学进行转换更容易,那也会有帮助

最佳答案

所以为了不给你做作业,这里有一个例子。所有这些都是基础小学数学,没有魔法。

如果我有 345678 便士,如何将其分解为各种美元和硬币金额。

一美元有 100 便士,100 美元钞票有 100 美元,所以

345678/(100*100) = 34 余数 5678

查看单位

便士/(便士/美元 * 美元/百)=

(便士 * 美元 * 数百)/(便士 * 美元)

便士和美元抵消剩下数百,这是正确的

3400 美元钞票,剩余 5678 便士

重复 20 美元的钞票

5678/(100 * 20) = 2 余数 1678

10美元钞票

1678/(100 * 10) = 1 余数 678

5美元钞票

678/(100 * 5) = 1 余数 178

一美元钞票

178/(100 * 1) = 1 余数 78

50美分

78/50 = 1 余 28

25美分(25美分)

28/25 = 1 余数 3

一毛钱(10 美分)0 余数 3

镍币(5 美分)0 余数 3

剩下3便士

所以 345678 便士等于

34 100 dollar bills +
2 20 dollar bills +
1 10 dollar bill +
1 5 dollar bill +
1 1 dollar bill +
1 half dollar coin +
1 quarter +
3 pennies

检查工作

34 * 100 * 100 = 340000 
2 * 100 * 20 = 4000
1 * 100 * 10 = 1000
1 * 100 * 5 = 500
1 * 100 = 100
1 * 50 = 50
1 * 25 = 25
1 * 3 = 3
add that up you get 345678

如果我只是想知道有多少个季度

345678/(25 * 1) = 13827 25 美分,余数为 3。

一切都是一样的,每分钟 60 秒,每小时 60 分钟,每天 24 小时。 1970 年为 365 天,1971 年为 365 天,1972 年为 366 天,1973 年为 365 天,依此类推

1月为31天,2019年2月为28天,3月为31天,依此类推

更容易调整时区前 60 秒 * 60 分钟 * 调整小时数根据需要添加或减去该数字,然后通过年/月/日计算该数字,或者如果您只关心一天中的时间,那么您只需要除以每天的秒数。或者你可以除以每天的秒数,得到总天数,并用一天的一小部分作为余数,一天的一小部分是今天一天中的时间,然后你可以减去年和月的总天数找到日期。

额外的功劳,使用 1970 纪元的 32 位时间计数器的计算机哪一年会出现类似于 Y2K 的翻转事件(像 Y2K 一样导致整个地球崩溃、死亡和破坏)?

在理解算法并用最喜欢的高级语言理想地编码以确认/证明算法之前,编程语言是无关紧要的。然后将这些知识移植到其他编程语言中。

快捷方式有时会让您更快地到达目的地,但当快捷方式失败时,它会以惊人的方式失败。

关于c++ - 如何在树莓派上的 Arm 组装中获取纪元时间并将其转换为本地时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59297490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com