Primitive Types

  • char
  • short
  • int
  • long
  • float
  • double
  • long double

unsigned, signed

  • ๋ถ€ํ˜ธ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ž๋ฃŒํ˜• ์•ž์— ์ ์–ด์ค€๋‹ค.
    • unsigned char, unsigned int
  • ์•ˆ๋„ฃ์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ signed
    • ์˜ˆ์™ธ : char

char

  • ์ตœ์†Œ 8๋น„ํŠธ์ธ ์ •์ˆ˜ํ˜•
  • ํ‘œ์ค€์—์„œ 8๋น„ํŠธ ์ด์ƒ์ด๋ผ๊ณ  ์ •์˜๋˜์–ด ์žˆ์Œ..
  • ๊ทธ๋ ‡๋‹ค๋Š” ๊ฑด ์–ด๋–ค ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ƒ์— ๋”ฐ๋ผ char ๋น„ํŠธ์ˆ˜๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์–˜๊ธฐ..

char ๋น„ํŠธ์ˆ˜ ์ฐพ๊ธฐ

#inclued <limits.h>
 
int main(void) {
	char char_side = CHAR_BIT;
	return 0;
}
  • ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค.

Byte?

  • C ํ‘œ์ค€์€ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์˜ ์ •ํ™•ํ•œ ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๊ฐ•์š”ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ๊ฐ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์•Œ์•„์„œ ํ•˜๋ผ๊ณ  ํ•จ
  • ๊ฑฐ๊ธฐ์— 1Byte๋ฅผ CHAR_BIT๋งŒํผ์ด๋ผ๊ณ  ์ •์˜ํ•จ
    • ์ฆ‰, 1Byte๊ฐ€ 8bit๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๋ง
  • ์ฆ‰, C์–ธ์–ด์—์„œ Byte๋ผ๋Š” ๊ฐœ๋…์€ char์˜ ํฌ๊ธฐ๋ฅผ ๋งํ•œ๋‹ค.
    • ์ง€๊ธˆ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๊ณ„์— ์ปดํ“จํ„ฐ๊ฐ€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„

char์˜ signed/unsigned

  • ๊ฒฐ๊ตญ char์ž๋ฃŒํ˜•๋„ ์ •์ˆ˜ํ˜•์ž„
  • ๊ทธ๋Ÿฌ๋‹ˆ ๋ถ€ํ˜ธ์—ฌ๋ถ€๋ฅผ ๋”ฐ์ ธ์•ผ ํ•  ๊ฒƒ.
  • ๊ทธ๋Ÿผ signed, unsigned ์ƒ๋žตํ•˜๋ฉด ๊ธฐ๋ณธ์ด ๋ญ˜๊นŒ?
  • C ํ‘œ์ค€์—์„œ๋Š” ๊ทธ๋Ÿฐ๊ฑฐ ์•ˆ์ •ํ•จ
  • ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌํ˜„๋”ฐ๋ผ ์ •ํ•ด์ง„๋‹ค.
  • <limits.h>์—์„œ CHAR_MIN์„ ๋ณด๋ฉด ๊ธฐ๋ณธ char์˜ ๊ตฌ์กฐ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’ ์ถœ๋ ฅํ–ˆ์„ ๋•Œ, -128๋กœ ๋‚˜์˜ค๋ฉด, ์•„ ๊ธฐ๋ณธ์ด signed๊ตฌ๋‚˜๋กœ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ.

char ์‚ฌ์šฉ๋ฒ•

  • ๋ฒŒ์จ ๋จธ๋ฆฌ์•„ํ”„๋‹ค.
  • ๋งŒ์•ฝ ๋ฌธ์ž์—ด์˜ ๋ฒ”์œ„๊ฐ€ ASCII๋ผ๋ฉด, ๋ถ€ํ˜ธ์—ฌ๋ถ€๊ฐ€ ์ƒ๊ด€์ด ์—†๋‹ค.
    • char๊ฐ€ 8bit > , 256๊นŒ์ง€ ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ˆ.
    • ๋ถ€ํ˜ธ๊ฐ€ ์žˆ๋‹คํ•ด๋„ ์ด๋ผ ๋‹ค ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ ์ด ์ด์ƒ์œผ๋กœ ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ์—๋Š” unsigned๋ฅผ ํ•ด์ค˜์•ผ ๋  ๊ฒƒ์ด๋‹ค.
  • ๊ทธ๋ž˜์•ผ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ๋„ ์ •์ƒ์ž‘๋™ํ•œ๋‹ค.

์ •๋ฆฌ

ํฌํŒ…์— ๋ฌธ์ œ ์—†๋Š” ๋ฒ”์œ„

unsigned charcharsigned char
0~2550~127-127~127
  • signed char๋Š” ์™œ -127 ์ด์ง€? -128์ด์–ด์•ผ ํ•˜๋Š”๋ฐ?
  • ํ˜น์‹œ ์˜›๋‚  ์ปดํ“จํ„ฐ๊ฐ€ 1์˜ ๋ณด์ˆ˜๋ฅผ ์“ธ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ๊นŒ.
  • ์ฐธ๊ณ : Complement Number