新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 萬(wàn)年陽(yáng)歷中星期的軟件算法

        萬(wàn)年陽(yáng)歷中星期的軟件算法

        作者: 時(shí)間:2012-07-04 來(lái)源:網(wǎng)絡(luò) 收藏

        說(shuō)明]

        本法具有占用ROM小,運(yùn)算速快的特點(diǎn),范圍2000 2099 100 年;

        只要輸入年月日便可直接得出相應(yīng)的星期,一步到位!

        算法]

        1.0à6 表示星期天到星期六.

        2.平年有365,閏年有366.而一星期7天,365 mod 7=1,365 mod 7=2,那么,N年與(N+1)分別相差+1+1+1)天。

        3.已知:2000.01.01 是星期六.

        4.作一張數(shù)據(jù)表:要求這年11 日是星期六且是非閏年(平年選用2005年正好)給出每月的1 日星期數(shù):

        DB 0FFH, 06H, 02H, 02H, 05H, 00H, 03H, 05H, 01H, 04H, 06H, 02H, 04H; (first data is useless)

        5.比如求Y1Y0MD日的星期.

        6.那么根據(jù)M 可查得相對(duì)的M1日的星期數(shù),為X .

        7.所以MD 日為星期(X+(D-1))MOD 7.

        8由于從2000MD日到Y1Y0MD日所經(jīng)歷的閏二月數(shù)共為: (Y1Y0-2000+3)/4+(Y1Y0-2000)+Y1Y0年是閏年且M>2.

        所以整個(gè)公式為:這天是

        星期[(X+(D-1))+ (Y1Y0-2000+3)/4+(Y1Y0-2000)+Y1Y0年是閏年且M月>2] MOD 7



        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 丹阳市| 永仁县| 彩票| 汉寿县| 砀山县| 广饶县| 玉溪市| 读书| 三门县| 临邑县| 松滋市| 喜德县| 萨迦县| 墨脱县| 眉山市| 毕节市| 西昌市| 随州市| 徐闻县| 临沂市| 石狮市| 佛学| 金塔县| 合山市| 乐平市| 甘德县| 雷州市| 巴马| 宣汉县| 富锦市| 甘孜| 新泰市| 吉木萨尔县| 克拉玛依市| 梅州市| 临泽县| 宁阳县| 平远县| 吉首市| 祁东县| 长宁县|