buf长度是2,而rt的长度可能是3?
莫非是有符号移位高位补1?