我對C和按位操作都比較陌生,而且我在課堂上給予的作業有麻煩。大部分代碼已經發給我了,但我一直在解決與按位操作有關的部分問題。一旦我弄清楚了這一部分,我就會變得金黃。我希望有人能幫助!隱寫術程序中的按位操作(C)
這裏是我的任務摘錄:
您將需要使用8個字節的圖像來隱藏一個字節的信息(請記住,只有封面圖像的最低有效位可以被修改)。您將使用封面圖像的16個字節的其餘部分嵌入16位b.size(二進制數據的大小字段的兩個最低有效字節),封面的下32個字節將用於嵌入文件擴展名 爲有效載荷文件,然後您將使用8 * b.size字節來嵌入有效載荷(b.data)。
這是什麼程序做的是圖像的速記,我不得不修改使用來自我創建了一個文件中讀取數據圖像的最小顯著位。就像我說的那樣,所有的代碼都已經寫好了。我只是無法弄清楚如何修改LSB。任何幫助將不勝感激!!!
我必須使用重新格式化的最低有效位的功能如下:
byte getlsbs(byte *b);
void setlsbs(byte *b, byte b0);
這是我迄今爲止嘗試:
/* In main function */
b0 = getlsbs(&img.gray[0])
/* Passing arguments */
byte getlsbs(byte *b)
{
byte b0;
b0[0] = b >> 8;
return b0;
}
我老老實實在一個完全喪失。我一整晚都在爲此工作,而且我還沒有取得進展。
BTW:[速記](http://en.wikipedia.org/wiki/Stenography)// [隱寫術(http://en.wikipedia.org/wiki/Steganography) - 請更正您的發帖 – Mat 2012-04-11 12:24:28
我道歉;我並不是想讓它看起來像我試圖爲我完成它。我所嘗試過的所有東西都失敗了,因爲我似乎無法理解按位運算。在大學生涯中,我從來沒有必須和他們打交道。 – JamesClem 2012-04-11 12:29:52
然後發佈您嘗試的代碼,以便人們可以解釋您做錯了什麼。 – Mat 2012-04-11 12:32:58