我有以下代碼從文件中獲取像素值。我正在運行OS X的英特爾MacBook上。我相信這是小端。我有以下代碼,我正在使用它來確定是否在像素上設置了最低有效位。它編譯並運行,但我不確定操作是否真的能給我正確的數據。在小端機器上,位運算符將如何工作?
typedef struct {
unsigned char blue;
unsigned char green;
unsigned char red;
} pixel_t;
pixel_t *pixels = malloc(((bmp->dib.bmp_bytesz/3)+1) * sizeof(*pixels));
printf("%u", (pixels[i].red & 0x01));
printf("%u", (pixels[i].green & 0x01));
printf("%u", (pixels[i].blue & 0x01));
在問一個關於endian-ness的問題之前,你應該知道它是什麼。它與您的代碼無關。 –