비트의 쓰임
1) RGB 컬러
RGB
888
각 255씩 표현 / 8비트 : 0~255
FFF (가장 높은 것)
000 (가장 낮은 것)
색상의 보색 ! 색상 번호 앞에 ~(NOT) 붙이면 보색 ((신기해!!))
2) IP
192.168.10.11
A B C D
8 8 8 8
A,B,D에는 0, C에는 11111을 넣고 논리 곱을 한다.
>>> 원하는 아이피를 알아낸다 >> 해킹!
비트를 미는게
쉬프트 연산자
C를 오른쪽으로 8칸 밀고 싶을 때
C>>8
비트 연산
논리 연산자
& 논리 곱
| 논리 합
^ 배타논리합
단항 연산자
~ 논리 부정
쉬프트 연산자
>> A>>B A를 오른쪽으로 B만큼 비트 이동
<< A<<B A를 왼쪽으로 B만큼 비트 이동
비트가 넘어가면 잘리고, 빈 자리는 0으로 채워진다(음수는 빈 자리가 1로 채워진다)
10 : 1010
10<< 1
20
실수의 오류
print(0.1 + 0.2)
print(0.1 + 0.2 == 0.3)
print("%f" %0.3)
print("%.1f" %0.3)
실행결과
0.30000000000000004
False
0.300000
0.3
0.1과 0.2를 더했는데 0.3보다 더 큰 수가 나온다.
그래서 0.1과 0.2를 더한 값과 0.3이 같이 않다는 결과가 나온다.
이 부분을 오류 수정 하기 위해서
두 가지 방법이 있다. (math 와 decimal)
import math
print(math.isclose(0.1+0.2, 0.3))
from decimal import Decimal
print(float(Decimal('0.1') + Decimal('0.2')))
'language > python' 카테고리의 다른 글
if문 (0) | 2022.05.06 |
---|---|
삼항 연산자 (0) | 2022.05.06 |
day8 - 비트 연산 (0) | 2022.05.05 |
연산자 (0) | 2022.05.04 |
암호화, 복호화, 입력함수 (0) | 2022.05.03 |