第一行把char转成unsigned int要先符号扩展成四个字节再写入内存我能理解,可是为什么第二行unsigned char转long是零扩展成四个字节又存整个rax寄存器?不应该是零扩展成八个字节然后存整个rax寄存器吗?(在x86-64系统环境下)