前往
大廳
主題

C/C++紀錄三十三 之2 <hamming code一些會用到的符號意義> 2019/1/9

艾倫D索妮雅 | 2021-06-09 19:53:07 | 巴幣 0 | 人氣 70

n=x ^ y
x和y進行XOR運算
X & Y
把X和Y做位元and運算
同x&0X01~
x&0X01就是把x和1做位元and運算,像是如果是19&0x01就會是10011 AND 00001 答案就會是1
X>>=1
x>>1的意思是把x的二進位表示右移一位 像是19的二進位是10011 右移一位就變成1001 也就是9
可以觀察到x=x>>1和x=x/2基本上是等價的(看看二進位表示就知道了)
二進制函式裡面的x>>1可以直接看成x/2 x&0x01可以直接看成x%2 這樣就滿明顯了
然後
在C/C++中以0x當前綴寫數字會被當成十六進位表示 像是0x13就等同於19 所以0x01跟1實際上是同一個數字

創作回應

更多創作