์ •์ˆ˜ 1๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ 2๋ฐฐ ๊ณฑํ•ด ์ถœ๋ ฅํ•ด๋ณด์ž.

a = int(input())

print(a<<1) # a*2^1

์ •์ˆ˜๋ฅผ 2๋ฐฐ๋กœ ๊ณฑํ•˜๊ฑฐ๋‚˜ ๋‚˜๋ˆ„์–ด ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๋น„ํŠธ๋‹จ์œ„์‹œํ”„ํŠธ์—ฐ์‚ฐ์ž <<, >>๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—๋Š” 2์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ๊ฐ’๋“ค์ด ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์—,
2์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’๋“ค์„ ์™ผ์ชฝ(<<)์ด๋‚˜ ์˜ค๋ฅธ์ชฝ(>>)์œผ๋กœ
์ง€์ •ํ•œ ๋น„ํŠธ ์ˆ˜๋งŒํผ ๋ฐ€์–ด์ฃผ๋ฉด 2๋ฐฐ์”ฉ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ 1/2๋กœ ์ค„์–ด๋“œ๋Š”๋ฐ,

์™ผ์ชฝ ๋น„ํŠธ์‹œํ”„ํŠธ(<<)๊ฐ€ ๋  ๋•Œ์—๋Š” ์˜ค๋ฅธ์ชฝ์— 0์ด ์ฃผ์–ด์ง„ ๊ฐœ์ˆ˜๋งŒํผ ์ถ”๊ฐ€๋˜๊ณ ,
์˜ค๋ฅธ์ชฝ ๋น„ํŠธ์‹œํ”„ํŠธ(>>)๊ฐ€ ๋  ๋•Œ์—๋Š” ์™ผ์ชฝ์— 0(0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜์ธ ๊ฒฝ์šฐ)์ด๋‚˜ 1(์Œ์˜ ์ •์ˆ˜์ธ ๊ฒฝ์šฐ)์ด ๊ฐœ์ˆ˜๋งŒํผ ์ถ”๊ฐ€๋˜๊ณ ,
๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” 1๋น„ํŠธ๋Š” ์‚ฌ๋ผ์ง„๋‹ค.

๋น„ํŠธ์‹œํ”„ํŠธ์—ฐ์‚ฐ

์˜ˆ์‹œ

n = 10
print(n<<1)  #10์„ 2๋ฐฐ ํ•œ ๊ฐ’์ธ 20 ์ด ์ถœ๋ ฅ๋œ๋‹ค.
print(n>>1)  #10์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ธ 5 ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.
print(n<<2)  #10์„ 4๋ฐฐ ํ•œ ๊ฐ’์ธ 40 ์ด ์ถœ๋ ฅ๋œ๋‹ค.
print(n>>2)  #10์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ํ›„ ๋‹ค์‹œ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ธ 2 ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

์ •์ˆ˜ 10์˜ 2์ง„์ˆ˜ ํ‘œํ˜„์€ ... 1010 ์ด๋‹ค.
10 << 1 ์„ ๊ณ„์‚ฐํ•˜๋ฉด ... 10100 ์ด ๋œ๋‹ค ์ด ๊ฐ’์€ 10์ง„์ˆ˜๋กœ 20์ด๋‹ค.
10 >> 1 ์„ ๊ณ„์‚ฐํ•˜๋ฉด ... 101 ์ด ๋œ๋‹ค. ์ด ๊ฐ’์€ 10์ง„์ˆ˜๋กœ 5์ด๋‹ค.

n = 10 ๊ณผ ๊ฐ™์ด ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ๋ฐ›์ง€ ์•Š๊ณ  ์ง์ ‘ ์ž‘์„ฑํ•ด ๋„ฃ์€ ์ฝ”๋“œ์—์„œ, ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋‹จ์–ด(์‹๋ณ„์ž, identifier)๋Š” ์ž๋™์œผ๋กœ ์ˆ˜๋กœ ์ธ์‹๋œ๋‹ค.  

n = 10 ์—์„œ 10 ์€ 10์ง„์ˆ˜ ์ •์ˆ˜ ๊ฐ’์œผ๋กœ ์ธ์‹๋œ๋‹ค.
๋ณ€์ˆ˜ n ์— ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, n = "10" ๋˜๋Š” n = '10'์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด ๋˜๊ณ ,

 

n = 10.0 ์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด ์ž๋™์œผ๋กœ ์‹ค์ˆ˜ ๊ฐ’์œผ๋กœ ์ €์žฅ๋œ๋‹ค.
n = 0o10 ์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด 8์ง„์ˆ˜(octal) 10์œผ๋กœ ์ธ์‹๋˜์–ด 10์ง„์ˆ˜ 8๊ฐ’์ด ์ €์žฅ๋˜๊ณ ,
n = 0xf ๋‚˜ n = 0XF ์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด 16์ง„์ˆ˜(hexadecimal) F๋กœ ์ธ์‹๋˜์–ด 10์ง„์ˆ˜ 15๊ฐ’์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

 

** python์—์„œ ์‹ค์ˆ˜ ๊ฐ’์— ๋Œ€ํ•œ ๋น„ํŠธ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
(์‹ค์ˆ˜ ๊ฐ’๋„ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” 2์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๊ณ  ๋น„ํŠธ์‹œํ”„ํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, python ์—์„œ๋Š” ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.)

 

์ •์ˆ˜ 2๊ฐœ(a, b)๋ฅผ a๋ฅผ 2b๋ฐฐ ๊ณฑํ•œ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅํ•ด๋ณด์ž.

a = 2
b = 10
print(a << b)  #210 = 1024 ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

 

 

์ถœ์ฒ˜: codeup.kr/

+ Recent posts