私は次のものを持っています:
void calculate(unsigned long num1, unsigned long num2){
int32_t invertednum2 = ~(num2); // yields 4294967040
printf("%d\n", invertednum2); // yields 255
// num1 is 3232236032
int32_t combine = (int32_t) num1 & num2;
printf("%d\n", combine); // yields 0???
}
結果が次のようになるように、num1 と num2 の AND をとろうとしています。
000000000000000011111111
2 つの異なるビット長で正しく AND 演算を行っているかどうか、またはキャストする必要があるかどうかはわかりません。
どんな助けでも大歓迎です!
ありがとう