비트연산자

*정수는 4바이트=32비트

1바이트=8비트

 

비트 AND - &

var num1=5;

00000000 00000000 00000000 00000101 -5

var num2=3;

00000000 00000000 00000000 00000011 -3

var result = (num1&num2);

num1과 num2의 비트를 AND한다.

00000000 00000000 00000000 00000101 -5

00000000 00000000 00000000 00000011 -3

00000000 00000000 00000000 00000001 -1

document.write(result,"<br>");

 

비트 OR - |

var num1=5;

var num2=3;

var result = (num1|num2);

document.write(result,"<br>");

num1과 num2의 비트를 OR한다.

00000000 00000000 00000000 00000101 -5

00000000 00000000 00000000 00000011 -3

00000000 00000000 00000000 00000111 -7

 

비트 OR 진리표

0|0 -> 0

0|1 -> 1

1|0 -> 1

1|1 -> 1

 

비트 XOR - ^

*exclusive OR 

*exclusive : 배타적인

var num1=5;

var num2=3;

var result = (num1^num2);

document.write(result,"<br>");

num1과 num2의 비트를 XOR한다.

00000000 00000000 00000000 00000101 -5

00000000 00000000 00000000 00000011 -3

00000000 00000000 00000000 00000110 -6

 

비트 XOR 진리표 (비트OR 진리표와 비슷)

0^0 -> 0

0^1 -> 1

1^0 -> 1

1^1 -> 0

 

비트 반전 - ~

var num=5;

var result = ~num;

document.write(result,"<br>");

num을 비트 반전한다.

00000000 00000000 00000000 00000101 - num : 5

11111111 11111111 11111111 11111010 - ~num  : -6 

 

* 컴퓨터에서 음의 정수를 표현할 때 2의 보수 표현법을 사용

5의 2의 보수는 -5

2의 보수 = 1의 보수+1

1의 보수 = 2의 보수-1

            = 비트반전

00000000 00000000 00000000 00000101 -5

11111111 11111111 11111111 11111010 - 5의 1의 보수

11111111 11111111 11111111 11111011 - 5의 2의 보수

 

* 정수 제일 왼쪽 비트 : MSB(Most Significant Bit) 가장 중요한 비트

MSB가 정수의 부호를 결정한다.

MSB가 0이면 양수, 1이면 음수

 

비트 이동 - << , >>

 


prompt

var num=prompt("숫자 입력");

document.write(num,"<br>")

prompt를 실행하면 입력하는 명령창이 뜬다.

"숫자 입력" - 안내문

 

prompt 창

 

var num1=prompt("숫자1 입력");

var num2=prompt("숫자2 입력");

document.write(num1+num2,"<br>")

이렇게 하면 숫자의 덧셈으로 되지 않고 단순히 문자의 접합으로 출력됨

예를 들어 10과 20을 입력하면 30으로 나오지않고 1020 으로 출력됨

 

<script>

    var num1 = prompt("숫자1 입력");

    var num2 = prompt("숫자2 입력");

    num1 = Number(num1);

    num2 = Number(num2);

    document.write(num1 + num2, "<br>")

</script>

Number 함수를 써주면 문자열을 숫자로 변환해준다.

예를 들어 10과 20을 입력하면 30으로 올바르게 출력된다.

 

prompt / age / if~else
prompt / score / if~else
prompt / score / if~else if~else

 


confirm

confirm 창
confirm / choice /if~else

 

 

'공부' 카테고리의 다른 글

24일차_JavaScript(4)  (0) 2021.02.04
23일차_JavaScript(3)  (0) 2021.02.03
21일차_ JavaScript(1)  (0) 2021.02.01
18일차_HTML/CSS (10)  (0) 2021.01.27
16일차_HTML/CSS (9)  (0) 2021.01.25

+ Recent posts