为了适合整数,我有一个按以下顺序进行的日期表示。日期表示应该是
year : 6 bits
month : 5 bits
day : 5 bits
hours : 4 bits
minutes: 6 bits
seconds: 6 bits
Run Code Online (Sandbox Code Playgroud)
所有的日期都应该适合一个 Unit32 date
[year(5bits),month(5bits),day(6bits),hours(4bits),minutes(6bits),seconds(6bit)]
UInt32 date = 0;
date= date| (UInt32) (DateTime.Now.Year%2000)<< 26;
date= date| ((uint)DateTime.Now.Month << 22);
date= date| (uint)DateTime.Now.Day << 17;
date= date| ((uint)DateTime.Now.Hour << 15);
date= date| ((uint)DateTime.Now.Minute << 6);
date= date| ((uint)DateTime.Now.Second);
string binary = Convert.ToString(date, 2);
Run Code Online (Sandbox Code Playgroud)
上面我尝试了一些按位运算,但结果并不满足。我缺少什么或我该怎么办?
例如当前日期是: 2021.55.10 13:55:06 二进制转换上面的代码 1010100110101101000110111000011 十六进制表示 54D6 8DC3 表示 1970 年 1 月 1 日星期四 …