切换到宽版
  • 2842阅读
  • 21回复

求助:数据类型运算问题 [复制链接]

上一主题 下一主题
离线lern
 

发帖
81
M币
18
专家
0
粉丝
7
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-11-05
void RefreshTimeShow()
{
    unsigned int d, m, y, w;

    ShowBcdByte(16, 0, bufTime.year);          //Year
    ShowBcdByte(48, 0, bufTime.mon);          //Month
    ShowBcdByte(80, 0, bufTime.day);          //Date
    ShowBcdByte(0, 2, bufTime.hour);          //Hour
    ShowBcdByte(32, 2, bufTime.min);          //Minutes
    ShowBcdByte(64, 2, bufTime.sec);          //Seconds

    d = bufTime.day;
    m = bufTime.mon;
    y = 2000 + bufTime.year;

    if(m == 1 || m == 2)
    {
        m += 12;
        y--;
    }
    w = (d + 1 + 2*m + 3*(m+1)/5 + y + y/4 - y/100 + y/400)%7;
    bufTime.week = (unsigned char)w;
    ShowBcdByte(32, 4, bufTime.week);
}
设:bufTime.year = 18, bufTime.mon = 11, bufTime.day = 4
算出的w的值等于2,正确值应该是0。不知是什么原因,望大侠们指点,先谢谢了!
离线amo73

发帖
882
M币
1363
专家
9
粉丝
34
只看该作者 1楼 发表于: 2018-11-05
请登录后查看
离线snaker

发帖
882
M币
1600
专家
1
粉丝
29
只看该作者 2楼 发表于: 2018-11-05
请登录后查看
离线lern

发帖
81
M币
18
专家
0
粉丝
7
只看该作者 3楼 发表于: 2018-11-05
回 snaker 的帖子
请登录后查看
离线lern

发帖
81
M币
18
专家
0
粉丝
7
只看该作者 4楼 发表于: 2018-11-05
回 amo73 的帖子
请登录后查看
离线devcang

发帖
18104
M币
9149
专家
20
粉丝
97
只看该作者 5楼 发表于: 2018-11-05
请登录后查看
离线lern

发帖
81
M币
18
专家
0
粉丝
7
只看该作者 6楼 发表于: 2018-11-05
回 devcang 的帖子
请登录后查看
离线amo73

发帖
882
M币
1363
专家
9
粉丝
34
只看该作者 7楼 发表于: 2018-11-05
请登录后查看
离线简燕

发帖
73
M币
149
专家
0
粉丝
3
只看该作者 8楼 发表于: 2018-11-05
请登录后查看
离线bg4rff

发帖
1518
M币
1237
专家
8
粉丝
32
只看该作者 9楼 发表于: 2018-11-05
请登录后查看
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个