這是我以前回答的問題在這裏上的問題的後續:援助
Reading characters on a bit level
的問題,我似乎有被瞭解位操作的基本概念C.我瞭解需要做什麼,但我實際上正在制定解決方案時遇到麻煩。
一個例子:
使用邏輯運算符改變01101010至00111110。
我理解實現解決方案的原理和掩碼的需要,但我不明白如何以編程方式進行。
我來自一個很大程度上基於C#的背景和最近纔開始用C開發
誰能給我一些指點或提示來完成的例子嗎?
以下是櫃面別人解決發現它有用:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h.>
int main()
{
//01101010 - 106 Decimal
char a = 0x6A;
//01010100 - 84 Decimal
char b = 0x54;
//00111110 - Uses exclusive or (XOR)
char c = a^b;
//Prints out in Hex - 62 Decimal
printf("%x",c);
return 0;
}
C#也使用位。 – 2010-02-04 12:20:29
當我使用C#的時候,我從來沒有需要這麼低,但很高興知道。 – 2010-02-04 12:44:27
你最近的編輯輸出是什麼? – 2010-02-04 13:02:35