Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- CDN
- cicd
- 정규표현식
- typescript
- go
- scrapping
- 반응형웹
- sequelize
- graphql
- 회고
- component
- Recoil
- AWS
- javascript animation
- 웹크롤링
- styled-component
- 웹팩
- docker
- 포트포워딩
- express
- route
- socket.io
- react
- Modal
- npx
- 성능최적화
- Redux
Archives
- Today
- Total
프로그래밍 공부하기
[Python] //연산과 %연산의 결과는 다른 언어와 다르다. 본문
1. //연산
//은 나눈 값을 정수로 돌려주는 연산자이다. 처음에는 /연산을 한 후 integer으로 형변환(소수점 이하 버림)하여 반환하는 줄 알았다. 그러나 Python에서 //연산은 나눈 값에 내림을 취하므로 예상과는 다른 결과가 나온다.
-5 / -4 #-1.25
int(-5 / -4) #-1 예상결과
-5 // -4 #-2 실제결과
2. %연산
나눗셈을 연산으로 공식으로 일반화하면 다음과 같다.(a: 잿수, d:피젯수, q: 몫, r:나머지)
a/d = q...r <=> a = qd + r
%연산을 위한 몫을 계산할 때 Python의 경우 값에 내림을 취하고, C++, Javascript 등은 버림(≒형변환)을 취하므로
음수 %연산은 python의 결과와 C++, javascript 등의 언어의 결과와 다를 수 있다.
[python]
-5 % 4 # -5 = 4 * (-2) + 3 = 젯수(4) * 몫(-2) + 3(나머지)
[C++]
-5 % 4 // -1 = 4 * (-1) + (-1) = 젯수(4) * 몫(-1) + (-1)(나머지)
참고 사이트
stackoverflow.com/questions/3883004/the-modulo-operation-on-negative-numbers-in-python
'Web > [Other] Language' 카테고리의 다른 글
Go (0) | 2021.03.12 |
---|---|
[Python] 웹크롤링 2 - 로그인 (0) | 2021.02.28 |
[Python] 웹크롤링 1 - BeautifulSoup와 requests (0) | 2021.01.09 |
[Python] 아스키코드변환: ord, chr (0) | 2021.01.08 |
Comments