๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programming/C language

3 Variable

by Dowon Kang 2024. 1. 22.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฐธ์กฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„์ด ๋ถ™์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋ฐ์— ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. C ์–ธ์–ด์—์„œ ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์— ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

C์–ธ์–ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…

 

 

char 

C ์–ธ์–ด๋Š” ์ดˆ๊ธฐ์—๋Š” UNIX ์šด์˜ ์ฒด์ œ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ์ด ๋•Œ ์‚ฌ์šฉ๋œ ๊ธฐ๊ณ„๋Š” 8๋น„ํŠธ(1๋ฐ”์ดํŠธ) ํฌ๊ธฐ์˜ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ char๋ฅผ 1๋ฐ”์ดํŠธ๋กœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ๋‹น์‹œ ํ•˜๋“œ์›จ์–ด์˜ ํŠน์„ฑ์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒฐ์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, char ํƒ€์ž…์€ ASCII ๋ฌธ์ž ์ง‘ํ•ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ASCII๋Š” ์˜์–ด ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ํŠน์ˆ˜ ๋ฌธ์ž ๋“ฑ์„ 7๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ํ‘œ์ค€์œผ๋กœ, char๊ฐ€ 1๋ฐ”์ดํŠธ์ด๋ฉด์„œ 7๋น„ํŠธ๋กœ ํ‘œํ˜„๋˜๋Š” ๊ฒƒ์€ ASCII ๋ฌธ์ž๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์„ ํƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

 

short 

์ดˆ๊ธฐ์˜ ์ปดํ“จํ„ฐ ์•„ํ‚คํ…์ฒ˜ ์ค‘์—์„œ short๊ฐ€ 2๋ฐ”์ดํŠธ๋กœ ์ •์˜๋œ ๊ฒƒ์€ 16๋น„ํŠธ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ์ผ๋ฐ˜์ ์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” 16๋น„ํŠธ ์•„ํ‚คํ…์ฒ˜์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , 2๋ฐ”์ดํŠธ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅ๋  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

float์™€ double

float์™€ double์€ C ์–ธ์–ด์—์„œ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ์ด๋“ค ๊ฐ„์—๋Š” ์ €์žฅ ๊ตฌ์กฐ์™€ ํ‘œํ˜„ ๋ฒ”์œ„์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

float (๋‹จ์ •๋„ ๋ถ€๋™ ์†Œ์ˆ˜์ )

  • float๋Š” 32๋น„ํŠธ(4๋ฐ”์ดํŠธ) ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋ถ€ํ˜ธ ๋น„ํŠธ, ์ง€์ˆ˜ ๋ถ€๋ถ„, ๊ฐ€์ˆ˜ ๋ถ€๋ถ„์˜ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • ๋ณดํ†ต IEEE 754 ํ‘œ์ค€์— ๋”ฐ๋ผ ํ‘œํ˜„๋˜๋ฉฐ, ๋ถ€ํ˜ธ ๋น„ํŠธ๋Š” ๋ถ€ํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ์ง€์ˆ˜ ๋ถ€๋ถ„์€ ์ง€์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ๊ฐ€์ˆ˜ ๋ถ€๋ถ„์€ ์œ ํšจ ์ˆซ์ž๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • ๋‹จ์ •๋„ ๋ถ€๋™ ์†Œ์ˆ˜์ ์€ 32๋น„ํŠธ๋กœ ํ‘œํ˜„๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ‘œํ˜„ ๋ฒ”์œ„๊ฐ€ ์ œํ•œ๋˜๋ฉฐ ์ •๋ฐ€๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์Šต๋‹ˆ๋‹ค.

double (๋ฐฐ์ •๋„ ๋ถ€๋™ ์†Œ์ˆ˜์ )

  • double์€ 64๋น„ํŠธ(8๋ฐ”์ดํŠธ) ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์—ญ์‹œ ๋ถ€ํ˜ธ ๋น„ํŠธ, ์ง€์ˆ˜ ๋ถ€๋ถ„, ๊ฐ€์ˆ˜ ๋ถ€๋ถ„์˜ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • ๋” ๋งŽ์€ ๋น„ํŠธ ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋†’์€ ์ •๋ฐ€๋„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ํ‘œํ˜„ ๋ฒ”์œ„๊ฐ€ ๋” ํฌ๋ฏ€๋กœ ๋” ํฐ ์ˆซ์ž๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • float์— ๋น„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋” ํฌ์ง€๋งŒ, ๋ณด๋‹ค ์ •ํ™•ํ•œ ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”ฐ๋ผ ์„ ํƒ๋˜๋ฉฐ, ์ •๋ฐ€๋„์™€ ํ‘œํ˜„ ๋ฒ”์œ„์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณผํ•™ ๋ฐ ๊ณตํ•™ ๊ณ„์‚ฐ์—์„œ๋Š” ๋†’์€ ์ •๋ฐ€๋„๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ double์ด ๋” ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž์›์ด ์ œํ•œ๋œ ์‹œ์Šคํ…œ์ด๋‚˜ ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์—์„œ๋Š” float์ด ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

'Programming > C language' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

5 Operator  (1) 2024.01.23
4 Constant  (1) 2024.01.23
2 Hello world  (0) 2024.01.22
1 C language - Why do we learn it  (0) 2024.01.22
[Algorithm] Time complexity (์‹œ๊ฐ„๋ณต์žก๋„)  (0) 2024.01.21

๋Œ“๊ธ€