๋นํธ์ฐ์ฐ์ Not์ด๊ฑฐ ๋ญ์๋ฆฌ์??
byte x = 1010;
์ด๊ฑฐ๋ฅผ not์ฐ์ฐ์ ๋ฃ์ผ๋ฉด
์๋ต.. (~x).padleft(8, '0') ์ด๋ผํ์๋
11110101 ์ด์๋..
์ด๋ฌ๋ฉด -10์ด ๋์ด์ผํ๋๊ฑฐ ์๋?
์ -11์??
๋ค๋ฅธ๊ฑด ๋ค ์ดํด๊ฐ ๋๋๋ฐ not์ฐ์ฐ์๋ง ์ดํด๊ฐ 2์๊ฐ์งธ ์๋๋์ค์;;;
not ์ฐ์ฐ์๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์๊ฐ ์๋๋ผ ๋นํธ ์ฐ์ฐ์์๋. ํผ์ฐ์ฐ์์ ๊ฐ ๋นํธ ๊ฐ์ ๋ฐ์ ์ํค๋๊ฑด๋ฐ. ์ด ๊ฒฝ์ฐ x์ ๊ฐ์ 2์ง์๋ก 1010์ด๋ฉฐ ์ญ์ง์๋ก 10์ ํด๋นํ๊ณ not ์ฐ์ฐ์๊ฐ x์ ์ ์ฉ๋๋ฉด ๊ฐ ๋นํธ๊ฐ ๋ฐ์ ๋์ด ์ด์ง์ ๊ฐ 11110101์ด ๋จ. ์ด๋ 10์ง์ ๊ฐ -11(2์ ๋ณด์ ํํ)์ด ๋จ
๊ทธ๋ฌ๋ฉด ์๋ฅผ๋ค์ด -128์ ์ด์ง๊ฐ์ผ๋ก ํ๋ ค๋ฉด 128์ ์ด์ง๊ฐ์ด 0000_1000_0000์ด๋๊น ๋ณด์๋ก 1111_0111_1111๋ก ๋ฐ๊พธ๊ณ 1์ ๋ํด์ 1111_0111_1110์ผ๋ก ๋ง๋๋๊ฑฐ์? -129์ ๊ฐ์ด 1111_0111_1111 ๋๋๊ฑฐ๊ณ ?
2์ ๋ณด์ ์์๋ณด์ผ ๋นํธ ๋ฐ๊พธ๊ธฐ๋ง ํ๋ฉด 0์ด 2๊ฐ(00000000, 11111111) ์๊ฒจ์ 1์ ๋ณด์์ 1๋ํด์ค ๊ฒ 2์ ๋ณด์. 00001010์ 2์ ๋ณด์๋ 11110101์ 1๋ํ 11110110์.
๋ด๊ฐ ์๋์ ๋๊ธ๋ฌ์ ๋ณด์๋ก 1111_0111_1111๋ก ๋ฐ๊พธ๊ณ 1์ ๋ํด์ 1111_0111_1110์ผ๋ก ๋ง๋๋๊ฑฐ์? ์ด๋ถ๋ถ์์ 1์ ๋ํ๋ฉด ์ ์ด์ง๊ฐ์ด ๋๋๊ฒ ์๋๋ผ 1111_1000_0000์ด ๋๋๊ฑฐ์? ๊ทธ๋ผ ์ด๊ฒ -128์ ๊ฐ์ด๊ณ ?
-1 ์ด 1111_1111_1111... ์ด๋ผ๋๊ฒ๋ง ์บ์นํ๋ฉด ์ดํด๋ ๋ฏ
-1 + 1 ์ด 0 ์ด๋๊น 1 (0000_0000_0001) + -1 (1111_1111_1111) ์ด ๋์ ๋ํด์ผ ๊ณ์ ๋นํธ๊ฐ ๋ฐ๋ฆฌ๊ณ ๊ฒฐ๊ตญ ์ต์์ ๋นํธ๊ฐ ํ๋ ๋ฐ๋ ค๋๋ฉด์ 0 (0000_0000_0000)์ด๋จ
๋ ์ดํด๊ฐ ์๋๋ค ใ ใ ใ ใ ใ ใ ใ ใ ใ ;;; ๋ด ๋จธ๋ฆฌ๋ก๋ ์ดํด๋ถ๊ฐ๋ฅํ ์์ญ์ธ๊ฐ? ๊ฒฐ๊ตญ ์์๊ฐ์ ๋ท์๋ฆฌ๊ฐ 1์ด๊ณ ์์๊ฐ์ ๋ท์๋ฆฌ๊ฐ 0์ผ๋์??
์ ํ๋ธ๋ก 2์ ๋ณด์ ์ณ์ ์ข ์์๋ด ์ต์์ ๋นํธ๋ฅผ ๋ถํธ ๋นํธ๋ผ๊ณ ํด์ 1์ด๋ฉด ์์ 0์ด๋ฉด ์์๋ก ํํํ๋๋ฐ ๊ทธ๊ฒ๋ง ํด์๋ ์ปดํจํฐ์์ ์์์ ์์ ๊ณ์ฐ์ ์ฝ๊ฒ ๋ชปํ๊ธฐ ๋๋ฌธ์ ์์์ ๊ฒฝ์ฐ ์์ ๊ธฐ์ค์ผ๋ก ๋นํธ ๋ฐ์ ์ ํ๋ค์(์์ฐ์ค๋ฝ๊ฒ ์ต์์ ๋นํธ ์ฆ ๋ถํธ ๋นํธ๊ฐ 1์ด๋จ) +1์ ํด์ฃผ๋ฉด ์๋ ๋๊ธ์ฒ๋ผ -1 ๊ณผ +1์ ๋ํ์๋ 0์ด๋ผ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์์ ์์ ํน์ C๋ฅผ ๋ฐฐ์ ๋ค๋ฉด unsigned๋ฅผ ๋ถํ๋ฉด ํํ ํ ์ ์๋ ๋ฒ์๊ฐ 2๋ฐฐ๊ฐ ๋๋ ์ด์ ๊ฐ ์ต์์ ๋นํธ๋ฅผ ๋ถํธ ๋นํธ๋ก ์ฌ์ฉํ์ง ์๊ณ ๊ทธ๋ฅ ์ผ๋ฐ ๋นํธ๋ก ์ฌ์ฉํจ์ผ๋ก์จ 2๋ฐฐ๊ฐ ๋๊ธฐ๋๋ฌธ์ ๋์ ์ด๋ฌ๋ฉด ์์๋ฅผ ํํํ์ง ๋ชปํจ
์ต์์ ๋นํธ๊ฐ ๋ถํธ ๋นํธ๋ผ๋ ๊ฒ๋ง ์ธ์งํ๊ณ
https://youtu.be/YN0jMyJR31M?t=522
๋ด๋ด
์ ์์ ๋นํธ ํ์๋ฒ์ ๋ง์ ๋ฒ์น์ด ์ฑ๋ฆฝํ๊ฒ ๊ณ ์ํด๋จ๋ค๋ ๊ฒ๋ง ๊ธฐ์ตํ๋ฉด ๋จ
8๋นํธ์ง๋ฆฌ 0xff(11111111)๋ผ๋ ์ซ์๊ฐ ์๋ค์น๋ฉด msb ์ต์์๋นํธ๋ ๋ถํธ๋นํธ์ธ๊ฑฐ์ ์ฆ 11111111๋ผ๋ 8๋นํธ ์ซ์์์ ๋งจ์ ์ฒซ๋ฒ์งธ๋นํธ๊ฐ unsigned์ธ์ง signed์ธ์ง ๊ฒฐ์ ํ๋ ๋นํธ์ NOT์ฐ์ฐ์ ๋นํธ๋ฅผ ๋ค์ง๋ ์ฐ์ฐ์์ด๋ msbํฌํจ ๋ชจ๋ ๋นํธ๊ฐ ๊ฑฐ๊พธ๋ก ๋ฐ๋๋๊ฒ์ด๋ ์ด๋ฐ์๋ฆฌ๋ก ์์๊ฐ ๋์ค๋๊ฑฐ๋ค - dc App
unsigned๋ฅผ ๋ถํ๋ฉด ํํ๋ฒ์๊ฐ 2๋ฐฐ๋ก ๋์ด๋๋์ด์ ๋ msb ์ต์์๋นํธ๋ฅผ ์๋ํด๋ค์ฐ๊ธฐ๋๋ฌธ - dc App