http://blog.csdn.net/songylwq/article/details/9015581
http://www.congmo.net/blog/2012/03/11/Long-ByteShifting/