新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 萬年陽歷中星期的軟件算法

        萬年陽歷中星期的軟件算法

        作者: 時間:2012-07-04 來源:網絡 收藏

        說明]

        本法具有占用ROM小,運算速快的特點,范圍2000 2099 100 年;

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

        算法]

        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.作一張數據表:要求這年11 日是星期六且是非閏年(平年選用2005年正好)給出每月的1 日星期數:

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

        5.比如求Y1Y0MD日的星期.

        6.那么根據M 可查得相對的M1日的星期數,為X .

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

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

        所以整個公式為:這天是

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



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 贵港市| 洛川县| 巴彦淖尔市| 涿鹿县| 东乌珠穆沁旗| 中方县| 陇川县| 佛山市| 元江| 怀仁县| 漠河县| 古田县| 梁平县| 富平县| 晋江市| 汝城县| 江川县| 遵义县| 酒泉市| 华坪县| 尼勒克县| 铁力市| 涞源县| 扶风县| 蓬溪县| 刚察县| 内黄县| 塘沽区| 冷水江市| 临海市| 玛多县| 田阳县| 虎林市| 安宁市| 屯留县| 徐州市| 镇雄县| 吴旗县| 齐齐哈尔市| 永寿县| 静宁县|