把每个字节按位取反怎么写

谁学逆向工程 2019-05-08 08:23:31
我这个不行呢
Byte[] buf = new Byte[1024];
fs.Read(buf, 0, 1024);
for (int i = 0; i < 1023; i++)
buf[i] = ~(Byte)buf[i];
...全文
586 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2019-05-08
  • 打赏
  • 举报
回复
~也应该可以啊
秋的红果实 2019-05-08
  • 打赏
  • 举报
回复
按位取反,可以和11111111(八个1,因你是byte)进行异或运算 为了能看清楚,我用二进制数给你演示

byte b = 0B10111110;
byte b1 = 0B11111111;
byte b2 = (byte)(b ^ b1);

Response.Write(Convert.ToString(b2,2)); //输出:01000001

实际应用时,无需转二进制

byte b1 = 0B11111111;


for (int i = 0; i < 1023; i++)
      buf[i] = (Byte)(buf[i]^b1);

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧