簡體   English   中英

負數二進制並更改其LSB

[英]Negative number binary and change LSB of it

先生,我有一個問題,我找到一個負數的二進制數給我32位,除前8位外我都修整了所有其他位,現在我更改了它的LSB,它給了我125。 我必須將其嵌入灰度圖像中。 根據我的要求,我必須在均值(四個相鄰像素的總和)中添加此125。當我將其添加到均值時。我給我的答案超過了255。所以修改lsb之后是可能的。 我的觀點仍然是負面的。

這是我的代碼

string str1 = Convert.ToString(d[1, 1], 2);
str1 = str1.Substring(Math.Max(str1.Length - 8, 0)).PadLeft(8, '0');
char[] data = new char[str1.Length]; 

for (int m = 0; m < str1.Length; m++)
{
    data[m] = str1[m];
}

//data[0] = '0';
string s="";
data[0] = '0';

for (int m = 0; m < str1.Length; m++)
{
    s += data[m];
}

byte output = Convert.ToByte(s, 2);

您的代碼正在修剪除最后 8位以外的所有內容。 如果要修剪除 8位以外的所有位,則應使用str1.Substring(0,8)。 並且您正在更改最后8位的MSB。 如果要更改LSB,則應使用data [7]而不是data [0]。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM