2020. 1. 13. 02:14γπ νλ‘κ·Έλλ° μΈμ΄/C
<κ° μλ£νμ ν¬κΈ°>
μλ£ν |
ν¬κΈ° |
κ°μ λ²μ |
char |
1 byte |
-128~127, 0~255 |
unsigned char |
1 byte |
0~255 |
signed char |
1 byte |
-128~127 |
int |
2 or 4 byte |
-32,768~32,767 or |
unsigned int |
2 or 4 byte |
0~65,535 or |
short |
2 byte |
-32,768 ~ 32,767 |
unsigned short |
2 byte |
0 ~ 65,535 |
long |
4 byte |
-2,147,483,648 ~ 2,147,483,647 |
unsigned long |
4 byte |
0 ~ 4,294,967,295 |
<Overflow Underflow>
char ν¬κΈ°λ -128 ~ 127κΉμ§λ€.
κ·Όλ° cNum1μλ λ²μκ° λ²μ΄λ 128κ³Ό cNum2μλ λ²μκ° λ²μ΄λ -129κ° μ μΈμ΄ λμλ€.
μΆλ ₯ κ²°κ³Όλ μ΄λ λ€.
μΆμ² : https://dojang.io/mod/page/view.php?id=32
C μΈμ΄ μ½λ© λμ₯: 7.2 μ€λ²νλ‘μ°μ μΈλνλ‘μ° μμ보기
λ§μ½ μ μ μλ£νμμ μ μ₯ν μ μλ λ²μλ₯Ό λμ΄μλ©΄ μ΄λ»κ² λ κΉμ? λ€μ λ΄μ©μ μμ€ μ½λ νΈμ§ μ°½μ μ λ ₯ν λ€ μ€νν΄λ³΄μΈμ. integer_overflow.c #include int main() { char num1 = 128; // charμ μ μ₯ν μ μλ μ΅λκ° 127λ³΄λ€ ν° μλ₯Ό ν λΉ // μ€λ²νλ‘μ° λ°μ unsigned char num2 = 256; // unsigned charμ μ μ₯ν μ μλ μ΅λκ° 255λ³΄λ€ ν° μλ₯Ό ν λΉ // μ€λ²νλ‘
dojang.io
1. cNum1μ -128μ΄ λμ€λλ©΄ μ²μμ cNum1μ 128μ λ£μλ€. νμ§λ§ ν¬κΈ°λ -128 ~ 127κΉμ§λ€. 127κΉμ§μΈλ° 128μ λ£μ΄μ μ€λ²νλ‘μ°κ° λ°μνλ€(1λ§νΌ). κ·Έλμ 127μ λ€μμ«μλ 128μ΄μ§λ§ char μλ£νμ ν¬κΈ°λ -128 ~ 127κΉμ§κΈ° λλ¬Έμ 127 λ€μ μ«μλ -128μ΄ λλ€.
2. cNum2μ 127μ΄ λμ€λλ©΄ cNum2μ -129λ₯Ό λ£μλ€. charμ ν¬κΈ°λ -128 ~ 127 κΉμ§μ΄λ€.
-128λ³΄λ€ μ μ μ«μλ₯Ό λ£μμΌλ―λ‘ μΈλνλ‘μ° λ°μ. κ·Έλμ -128μμ κ·Έμ μ«μμΈ 127μ΄ λμ€κ² λλκ²μ΄λ€.
'π κ°λ° Β· νλ‘κ·Έλλ° > C' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
cμΈμ΄ #8 (0) | 2020.03.21 |
---|---|
cμΈμ΄ #7 (0) | 2020.03.21 |
cμΈμ΄ #5 (0) | 2020.01.13 |
cμΈμ΄ #4 (0) | 2020.01.13 |
cμΈμ΄ #3 (0) | 2020.01.12 |