
讲述要求字节二进制之间的取反11111111111111111111111111111111111111111
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *input_file, *output_file;
input_file = fopen("stud.dat", "rb");
if (input_file == NULL) {
printf("Failed to open input file.\n");
exit(1);
}
output_file = fopen("result.dat", "wb");
if (output_file == NULL) {
printf("Failed to open output file.\n");
exit(1);
}
int byte_count = 0;
unsigned char byte;
while (fread(&byte, sizeof(byte), 1, input_file) == 1) {
byte_count++;
if (byte_count % 2 == 1) {
byte ^= 0x0C; // flip the middle 2 bits
}
fwrite(&byte, sizeof(byte), 1, output_file);
}
fclose(input_file);
fclose(output_file);
return 0;
}