题目:编写程序从一个二进制文件中读入若干个字节,将每一个字节的8位逆转后,按字节的输入顺序输出到另一个二进制文件中。这里的逆转是指:当unsigned char k=0xAC(二进制值为:10101100),逆转后k为:00110101(十六进制为:0x35)。并考虑当文件中的字节数量很大时(比如,几百MB,GB甚至TB),说明如何编写此程序,执行效率最高。
我的做法就是读入单个字符,通过按位与、或等操作实现逆转,然后输出到文件中。但是不太明白如何提高执行效率,希望各位高手支个招~
题目:编写程序从一个二进制文件中读入若干个字节,将每一个字节的8位逆转后,按字节的输入顺序输出到另一个二进制文件中。这里的逆转是指:当unsigned char k=0xAC(二进制值为:10101100),逆转后k为:00110101(十六进制为:0x35)。并考虑当文件中的字节数量很大时(比如,几百MB,GB甚至TB),说明如何编写此程序,执行效率最高。
我的做法就是读入单个字符,通过按位与、或等操作实现逆转,然后输出到文件中。但是不太明白如何提高执行效率,希望各位高手支个招~
查表,因为一个字节的逆转可以放在一个256字节的表中。