C μΈμ΄ - μ μ, μ€μμ μ€λ²νλ‘μ°, μΈλνλ‘μ° (overflow , underflow)
*μ€λ²νλ‘μ° (overflow) : λ©λͺ¨λ¦¬μ νν λ²μλ₯Ό μ΄κ³Όνλ μμ κ°μ μ μ₯ν λ λ°μ
*μΈλνλ‘μ° (underflow) : λ©λͺ¨λ¦¬κ° νν λ²μλ³΄λ€ μμ μμ κ°μ μ μ₯ν λ λ°μ
μ¦, μλ μ¬μ§(ν)μ λ²μλ₯Ό λ²μ΄λ κ°μ μ μ₯νλ©΄ μ€λ²νλ‘μ° λ° μΈλνλ‘μ°κ° λ°μνλ€.
*λ°μ΄ν° νμ λ³ νν λ²μ
λλ²μ§Έ μ€μ μλ unsigned charμ λ²μλ₯Ό λ²μ΄λ κ°μΈ 256μ λ£μ΄λ³΄λ©΄
#include <stdio.h>
int main(void){
unsigned char a = 256;
printf("%d", a);
}
μΆλ ₯>>>>>>>> 0
0μ΄ μΆλ ₯λλ€.
μΈλνλ‘μ°μΌ κ²½μ°, μκ³ λ°λλ°©ν₯μΌλ‘ μ«μκ° λ²μ΄λλ§νΌ μ΄λνκ² λκ³ ,
μ€λ²νλ‘μ°μΌ κ²½μ°, μκ³λ°©ν₯μΌλ‘ μ«μκ° λ²μ΄λλ§νΌ μ΄λλμ΄ ννλλ€.
μ¦, 256μ 1λ§νΌ μ€λ²νλ‘μ° λκ²μ΄λ―λ‘, μκ³λ°©ν₯μΌλ‘ νμΉΈ μ΄λνμ¬ 0μ΄ λκ²μ΄λ€.
*μ€μμΈ κ²½μ°μλ μ€λ²νλ‘μ°κ° μΌμ΄λλ©΄ +inf(infinity) νΉμ -infλ‘ μΆλ ₯λκ³ , μΈλνλ‘μ°κ° μΌμ΄λλ©΄ 0 λλ μ°λ κΈ°κ°μΌλ‘ μΆλ ₯λλ€.
*μ€λ²νλ‘μ°λ‘ μΈν΄ λ¬Έμ κ° λ μ¬λ‘
newspeppermint.com/2014/12/16/binary-bug/
κ°λ¨μ€νμΌμ μ΄λ»κ² μ νλΈ μ‘°νμ μΈ‘μ μλ²μ λ¬Έμ λ₯Ό μΌμΌμΌ°λ
μΈμ΄μ ‘κ°λ¨μ€νμΌ’ μΈκΈ°λ μμμ μ΄μν©λλ€. μ μ΄λ μ νλΈ μ½λμ μνλ©΄ νμ€ν κ·Έλ¬μ£ . μ νλΈ μ‘°νμκ° 2,147,483,647 (21μ΅) μ λμ΄κ°λ©΄μ μ‘°νμλ₯Ό 64λΉνΈ μ«μλ‘ λ°κΎΈμ΄ 9,223,372,036,854,7
newspeppermint.com