← 목록으로 돌아가기 원본글 보기

프로그래머의 소원빌기

플러스Z · 2021. 2. 22. 오전 2:54:04 · 조회수 8832

저장된 이미지 (1개)

저장된 이미지

댓글 (10개)

종이껌

2021. 2. 22. 오전 2:54:46

슈뢰딩거소년

저게 뭔말이에요

2021. 2. 22. 오전 2:55:15

핑귄

unsigned long long이라는 컴퓨터 프로그래밍에서 어떤 변수의 타입이 있어요
쉽게 생각하시면 양의 정수를 대략 40억개정도까지 구현할 수 있는 타입인데, 이게 한계치(0이나 사십몇억 얼마얼마)를 넘어가면 오버플로우라고 해서 그 반대쪽?으로 가는 현상이 일어나요
그러면 남은 소원의 개수가 없어질 때 -1을 해주면 이게 사십몇억개로 바뀌는거죠

정확하게는 2의 32승개입니다

>>오버플로우의 원리
만약 2의 2승개를 구현가능한 타입이 있다고 합시다
그르면 이걸 2진수로 나타내면 00 01 10 11 총 4개가 가능해요
근데 이걸 순서대로 0~3이라고 칩시다
그러면 여기서 00에서 -1을 연산하면 컴퓨터에선 100~0000이라는숫자에서 1을 뺀것과 같이 연산하기 때문에 011~1111이 됩니다
그러면 봅시다
이 타입은 이진수에서 2칸만 할당해서 사용하기 때문에 이 숫자는 11이 되요(앞에껀 전부 무시하게 됩니다)
그러면 이걸 우리가 지정한 숫자로 표현하면 어떻게되죠?
4가 되는겁니당

그래서 오버플로우라는게 무서운거죠
아 그리고 이걸 활용해 예전엔 해킹도 했었어요
이게 앞에있는 메모리의 숫자도 바꿀 수 있어서 이걸 활용해 앞의 메모리 주소의 값을 변환시켜 자신이 원하는 임의의 숫자로 바꿔 원래 작동하려는 의도와는 다르게 만드는거죠.
그래서 지금은 이게 단순한 c프로그래밍 할때만 사용되게 하고 기본적인 안전장치같은게 다 되있어서 큰 문제가 아니라고 들었어유 :)
이만 컴공과 지망생이었습니다 히히

2021. 2. 22. 오전 3:08:14

슈뢰딩거소년

와 무한소원을 이렇게...

2021. 2. 22. 오전 2:59:49

지나가던이과

2021. 2. 22. 오전 3:12:36

phs0309

개멋지당

2021. 2. 22. 오전 4:19:59

천년두

그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가? 그는 신인가?

2021. 2. 22. 오전 5:47:00

닌탑차이

2021. 2. 22. 오전 5:58:57

여름얼음

핸님 멋있어여...

2021. 2. 22. 오전 6:10:17

빈달팽이

왤케 천재임?

2021. 2. 22. 오전 6:23:23

개인정보처리방침은 Cloudflare의 개인정보처리방침에 따릅니다.