λͺ ν CμΈμ΄ νλ‘κ·Έλλ°, μ½κ² νμ΄μ΄ CμΈμ΄ Express 5μ₯ 221p (μλ₯μΆνμ¬) 221pμ μλ 6λ² λ¬Έμ λ₯Ό νμ΄ν΄λ³΄μ.
6. intνμ μ μλ₯Ό λΉνΈ μ°μ°μλ₯Ό μ¬μ©νμ¬μ 2μ 보μ(2's complement)λ‘ λ³ννλ νλ‘κ·Έλ¨μ μμ±νμ¬ λ³΄μ. 2μ 보μλ λ¨Όμ μ 체 λΉνΈλ₯Ό λ°μ μν¨ νμ 1μ λνλ©΄ λλ€.
HINT - λΉνΈλ₯Ό λ°μ μν€λ μ°μ°μλ ~μ΄λ€.
νμ΄
2μ 보μλ λ€μμ μ°Έκ³ νλ©΄ λλ€. ν μμ μμλ₯Ό νννκΈ° μν 보νΈμ μΈ λ°©μμΌλ‘, 2μ§μλ₯Ό νμ©ν κ²μ΄λ€.
μ λ ₯λ°μ μλ num λ³μμ μ μ₯νκ³ , κ·Έ numμ 2μ 보μ κ°μ result λ³μμ μ μ₯ν κ²μ΄λ€.
λΉνΈλ₯Ό λ°μ μν€λ μ°μ°μλ ~μΈλ° , 2μ 보μκ° λλ €λ©΄ κ·Έ κ°μ 1μ λνλ©΄ λλ μ°μ°μ μ°¨λ‘λ‘ μ§νμμΌ μ£Όλ©΄ λκ² λ€.
λΉ νλ‘μ νΈ(C++)λ₯Ό μμ±νκ³ , μμ€νμΌμ complement.c νμΌμ μμ±ν΄μ€λ€.
μ½λ
#include <stdio.h>
int main(void) {
int num, result;
printf("μ μλ₯Ό μ
λ ₯νμμ€ : ");
scanf_s("%d", &num);
result = ~num;
result += 1;
printf("2μ 보μ : %d\n", result);
return 0;
}
μ€ν κ²°κ³Ό
λ‘컬 Windows λλ²κ±°λ₯Ό μ΄μ©νμ¬ νλ‘κ·Έλ¨μ λλ €λ³΄μ.
μ μλ₯Ό μ λ ₯νλΌλ λ¬Έμμ΄μ΄ μ μΆλ ₯λλ κ²μ λ³Ό μ μλ€.
λ¬Έμ μ μ μλ λλ‘ 100μ μ λ ₯νλ©΄ 2μ 보μ -100μ΄ μΆλ ₯λκ³ μ€λ₯ μμ΄ μ’ λ£λλ κ²μ νμΈν μ μλ€.
λͺ ν CμΈμ΄ νλ‘κ·Έλλ° , μλ₯μΆνμ¬ , λΉνΈ μ°μ°μ , λΉνΈ λ°μ , 2μ 보μ , intνμ μ μ , 2μ 보μ λ³ν , νλ‘κ·Έλ¨ μ½λ , μ½λ© , νλ‘κ·Έλλ° , λΉνΈ λ°μ
λκΈ