๊ด€๋ฆฌ ๋ฉ”๋‰ด

bom's happy life

๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์™€ ๋น„ํŠธ์—ฐ์‚ฐ์ž ๋ณธ๋ฌธ

Deveolpment Study๐Ÿ—‚๏ธ/JAVA

๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์™€ ๋น„ํŠธ์—ฐ์‚ฐ์ž

bompeach 2022. 9. 10. 23:51

1) ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž๋ž€?

    : ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋™์‹œ์— ๊ฒ€์‚ฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž.

      ๋‘ ํ•ญ์˜ ๊ฐ’์ด boolean๊ฐ’์ผ ๋•Œ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

2) ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

 

๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

 

 

 

๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž ์‹ค์Šต

 

.

.

.

 

1) ๋น„ํŠธ์—ฐ์‚ฐ์ž๋ž€?

    : ๋น„ํŠธ ๋‹จ์œ„๋กœ ์—ฐ์‚ฐํ•˜๋Š” ์—ฐ์‚ฐ์ž

 

๋น„ํŠธ(bit) : ๋ฐ์ดํ„ฐ์˜ ์ตœ์†Œ๋‹จ์œ„

8bits = 1byte

 

 

2) ๋น„ํŠธ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

(1) ๋น„ํŠธ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

(2) ๋น„ํŠธ ์‰ฌํ”„ํŠธ์—ฐ์‚ฐ์ž

 

.

.

 

(1) ๋น„ํŠธ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž๋ž€?

     : ๋น„ํŠธ ๋‹จ์œ„๋กœ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ ํ•˜๋Š” ์—ฐ์‚ฐ์ž

 

- ๋น„ํŠธ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

 

 

๋น„ํŠธ์—๋Š” 0 ํ˜น์€ 1์ด ์˜ด.

1: true

0: false

 

.

.

 

* 10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ : ๋ชซ์ด 1์ด ๋ ๋•Œ๊นŒ์ง€ ๋‚˜๋ˆˆ ํ›„ ๊ฑฐ๊พธ๋กœ ์˜ฌ๋ผ์˜ค๊ธฐ.(2๋กœ ๋‚˜๋ˆˆ๋‹ค.)

 

* 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ : ๊ฐ ์ž๋ฆฌ์˜ ๊ฐ’์ด 1์ธ ์ˆ˜๋ฅผ 2์˜ ์Šน์œผ๋กœ ๊ณ„์‚ฐํ•œ ํ•ฉ.

 

*  2์ง„์ˆ˜์˜ ๋ง์…ˆ์—ฐ์‚ฐ 

      0101(2)+0010(2) = ?   //0111(2) = 7 

 

      2์˜ 0์Šน์€ 1์ด๋‹ค.(0์Šน์ด ์ž๊พธ ํ—ท๊ฐˆ๋ ค์„œ..)

์‹œ์ž‘์ด๋ฐ˜์ด์•„๋‹ˆ๋‹ค๋‹˜ ๋ธ”๋กœ๊ทธ์ฐธ์กฐ

 

 

...

 

 

๋น„ํŠธAND, ๋น„ํŠธOR, ๋น„ํŠธXOR ์˜ˆ์ œ)

.

.

 

๋ฐ‘์— ์˜ˆ์ œ ํ’€์–ด๋ณด๊ธฐ)

15&5 ?
   15 : 1111(2)
   5 : 0101(2)
   
15|5 ?
   15 : 1111(2)
   5 : 0101(2)
   
15^5 ?
   15 : 1111(2)
   5 : 0101(2)

 

.

.

 

* ๋น„ํŠธ NOT์—ฐ์‚ฐ(~)

 

๋ฐ‘์— ๊ณต์‹ ๊ทธ๋ƒฅ ์™ธ์šฐ๋ฉด ๋จ.

NOT์—ฐ์‚ฐ ๊ณต์‹!
~a = -a-1

 

1) ๋ถ€ํ˜ธ๊ฐ€ ์™œ ๋ฐ”๋€Œ๋Š”๊ฐ€?

์ปดํ“จํ„ฐ๋Š” ์Œ์ˆ˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค.

์Œ์ˆ˜๋Š” ๋ถ€ํ˜ธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋น„ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

๋ถ€ํ˜ธ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ : ๋ถ€ํ˜ธ๋น„ํŠธ == ์ตœ์ƒ์œ„๋น„ํŠธ

๋ถ€ํ˜ธ๋น„ํŠธ : 0 -> ์–‘์ˆ˜

๋ถ€ํ˜ธ๋น„ํŠธ : 1 -> ์Œ์ˆ˜

 

2) ~5 = -6์ธ ์ด์œ ?

0000 0000 .... 0101

1111 1111 .... 1010

 

5์˜ 4bitํ‘œํ˜„์œผ๋กœ ๊ณ„์‚ฐํ–ˆ๋“ฏ

-6์˜ 4bit๋ฅผ ๊ตฌํ•  ๊ฒƒ์ด๋‹ค... -6์˜ 4bit ์–ด์ผ€ ๊ตฌํ•จ..?

~5 = -6

~-6 = 5

 

.

.

 

 6     0110

-6     1010

 0     0000

 

~(1010) = 0101 = 5

 

.

.

.

 

(2) ๋น„ํŠธ ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž๋ž€?

    : ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ = ๋น„ํŠธ ์ด๋™ ์—ฐ์‚ฐ

 

- ๋น„ํŠธ ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

 

.

.

 

๋ฐ‘์— ์˜ˆ์ œ ํ’€์–ด๋ณด๊ธฐ)

์˜ˆ์ œ1)
15 >> 2  //15๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 2๋ฒˆ ์ด๋™ํ•˜๊ฒ ๋‹ค.
15 : 1111(2)    //0011(2) = 3
  
  
์˜ˆ์ œ2)   
5 << 4  //5๋ฅผ ์™ผ์ชฝ์œผ๋กœ 4๋ฒˆ ์ด๋™ํ•˜๊ฒ ๋‹ค.
5: 0101(2)    // 0101 0000(2) = 64 + 16 = 80

 

์˜ˆ์ œ1 ๊ณ„์‚ฐ๋ฒ•)

15 >> 2  //15๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 2๋ฒˆ ์ด๋™ํ•˜๊ฒ ๋‹ค.

15 : 1111(2)    //0011(2) = 3

 

์˜ค๋ฅธ์ชฝ ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž :

์˜ค๋ฅธ์ชฝ์œผ๋กœ 1์นธ์”ฉ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ๋‚˜๋ˆ„๊ธฐ2 ( /2 )

15/2 = 7

7/2 = 3

 

์˜ˆ์ œ2 ๊ณ„์‚ฐ๋ฒ•)

5 << 4  //5๋ฅผ ์™ผ์ชฝ์œผ๋กœ 4๋ฒˆ ์ด๋™ํ•˜๊ฒ ๋‹ค.
5: 0101(2)    // 0101 0000(2) = 64 + 16 = 80

 

์™ผ์ชฝ ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž : 

์™ผ์ชฝ 1์นธ์”ฉ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ๊ณฑํ•˜๊ธฐ2 (*2)

5*2 = 10

10*2 = 20

20*2 = 40

40*2 = 80 

 

 

.

.

 

 

๋น„ํŠธ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์™€ ๋น„ํŠธ์‰ฌํ”„ํŠธ์—ฐ์‚ฐ์ž ์ถœ๋ ฅ๊ฒฐ๊ณผ