[C/C++] unsigned์™€ signed์˜ ๊ฐ’ ๋น„๊ต ์ฃผ์˜

2022. 3. 23. 00:46ยทํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์‘์šฉ

 

 

 

unsigned ์ž๋ฃŒํ˜•๊ณผ signed ์ž๋ฃŒํ˜•์€ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐ™์€ ์ž๋ฃŒํ˜•์ด๋ผ๋„ unsigned์™€ signed์˜ ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ warning์„ ๋ฑ‰์–ด์ค๋‹ˆ๋‹ค.


unsigned int uVal = 3;
int nVal = -1;

if (uVal > nVal)
{
    printf("unsigned 3 is bigger than signed -1\n");
}
else
{
    printf("signed -1 is bigger than unsigned 3\n");
}


์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค„๊นŒ์š”?


์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” else๋ฌธ์ธ "signed -1 is bigger than unsigned 3"์ด ์ถœ๋ ฅ ๋ฉ๋‹ˆ๋‹ค.


ํ†ต์ƒ์ ์œผ๋กœ uVal์ด nVal๋ณด๋‹ค ํฌ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ฒ ์ง€๋งŒ unsigned์™€ signed๋ฅผ ๋น„๊ตํ•  ๋•Œ๋Š” ๋‘˜ ์ค‘ ๋” ํฐ ๋ฒ”์œ„์ธ unsigned๋กœ ๋ณ€ํ™˜๋˜์„œ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— unsigned int(3)๊ณผ unsigned int(-1)์ด ๋น„๊ต๋œ ๊ฒ๋‹ˆ๋‹ค.

unsigned int์— ์Œ์ˆ˜ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋ฉด unsigned int max(4294967295)๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— else๋ฌธ์ด ์ถœ๋ ฅ๋์Šต๋‹ˆ๋‹ค.


์œ„ ๊ฐ’์„ ์šฐ๋ฆฌ ๋ˆˆ์— ๋ณด์ด๋Š” ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด

if((int)uVal > nVal) ๋กœ ๋น„๊ตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ฒซ๋ฒˆ์งธ ์ถœ๋ ฅ๋ฌธ์ด ์ถœ๋ ฅ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


gcc/g++, MSVC++ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ๋ชจ๋‘ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด > C++ ์‘์šฉ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[std] iterator๋ณด๋‹จ const_iterator !  (0) 2023.01.14
๊ฐ์ฒด ์ƒ์„ฑ์‹œ ์†Œ๊ด„ํ˜ธ์™€ ์ค‘๊ด„ํ˜ธ ์ฐจ์ด  (0) 2023.01.14
[C++]ํฌ์ธํ„ฐ์™€ ๋ ˆํผ๋Ÿฐ์Šค ์ฐจ์ด  (0) 2023.01.09
์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๊ฟ€ํŒ!  (1) 2022.12.30
[c++] ๋žŒ๋‹ค ํ‘œํ˜„์‹ ์ •๋ฆฌ  (1) 2021.03.09
'ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์‘์šฉ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๊ฐ์ฒด ์ƒ์„ฑ์‹œ ์†Œ๊ด„ํ˜ธ์™€ ์ค‘๊ด„ํ˜ธ ์ฐจ์ด
  • [C++]ํฌ์ธํ„ฐ์™€ ๋ ˆํผ๋Ÿฐ์Šค ์ฐจ์ด
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๊ฟ€ํŒ!
  • [c++] ๋žŒ๋‹ค ํ‘œํ˜„์‹ ์ •๋ฆฌ
์„œ์•„๋ž‘๐Ÿ˜ƒ
์„œ์•„๋ž‘๐Ÿ˜ƒ
Just Do It๐Ÿ’ช
  • ์„œ์•„๋ž‘๐Ÿ˜ƒ
    G-Stack
    ์„œ์•„๋ž‘๐Ÿ˜ƒ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด๋ณด๊ธฐ (144)
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (78)
        • C++ ๊ธฐ์ดˆ (28)
        • C++ ์‘์šฉ (18)
        • Python (18)
        • JavaScript & NodeJS (0)
        • Go (12)
        • React & NextJS (2)
        • Java (0)
      • AI (2)
      • ์ปดํ“จํ„ฐ ๊ตฌ์กฐ & ์šด์˜์ฒด์ œ (31)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (12)
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (5)
      • ๋„คํŠธ์›Œํฌ (3)
      • ๋””์ž์ธํŒจํ„ด (5)
      • ์„œ๋น„์Šค & ํˆด (7)
      • ํŠธ๋ Œ๋“œ&์ด์Šˆ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

    • G์Šคํƒ์˜ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํŒจํ‚ค์ง€
    ๋ฐ˜๋ณต๋ฌธ
    pointer
    ์กฐ๊ฑด๋ฌธ
    c++
    ์ƒ์†
    ๋ณ€์ˆ˜
    fork
    ๋””์ž์ธํŒจํ„ด
    ํ•จ์ˆ˜
    component
    ํฌ์ธํ„ฐ
    c
    ํŒŒ์ผ์ž…์ถœ๋ ฅ
    RAM
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    cpu
    ์ปดํ“จํ„ฐ
    ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ
    ์Šคํƒ
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    init
    ํŒŒ์ด์ฌ
    go
    STD
    ์žฌ๊ท€
    ๋ฉ”๋ชจ๋ฆฌ
    ๋ฐฐ์—ด
    Thread
    ํ•˜๋“œ๋””์Šคํฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.6
์„œ์•„๋ž‘๐Ÿ˜ƒ
[C/C++] unsigned์™€ signed์˜ ๊ฐ’ ๋น„๊ต ์ฃผ์˜
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”