디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

비트가지고 놀기 - 경계점검

코로모갤로그로 이동합니다. 2015.12.27 01:24:07
조회 2300 추천 8 댓글 19
														


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b38177a16fb3dab004c86b6f1a1232ae65b3ad2637808df24674120cd0d861ce421bf4ec0207ee1458f1cf6088eb15dc93208aeba9bed83282

여기선 정수의 산술경계 점검만을 다룹니다.


경계점검이란 간단한 예로 x를 부호없는 정수라하면 if ( 10 <= x && x <= 20 )과 같은 것들을 말합니다.

이는 if ( x-10 <= 10 )로 단축될 수 있죠. (이는 if ( x <= 20 )와는 다른 표기입니다.)

x가 11일때 x-10: 1

x가 10일때 x-10: 0

x가  9일때 x-10: 0xFFFFFFFFFFFFFFFF

이렇게 되니깐요.

(저자는 비교 후 분기(compare-branch) 또는 비교 후 트랩(compare-trap) 명령만 관여한다는 점, 수량 인덱싱에서 배열 접근 주소 계산에 필요할 수 있다는 점에서 위 조건문보다 효율적이라고 주장하고있습니다.)

보통은 점검하는 경계가 넓을 수록 후자가 유리하겠고, 좁을 수록 전자가 유리하겠죠.


if ( a <= x && x <= b )와 같은 경우엔 a <= b가 보장된 경우엔 if ( x - a <= b - a )로 대체될 수 있겠죠

정리하면 a,b,x의 부호가 있든 없든 다음이 성립합니다. 물론 비교연산은 부호없는 연산이여야합니다.

a <= b -> if ( a <= x && x <= b )   == if ( x - a <= b - a ) == if ( b - x <= b - a )

a <= b -> if ( a <= x && x <   b )   == if ( x - a <  b - a )

a <= b -> if ( a <   x && x <= b )   == if ( b - x < b - a )

a <   b -> if ( a <   x && x <   b )   = = if ( x - a - 1 < b - a - 1) == if ( b - x - 1 < b - a - 1 )


-------

모호한 비트경계에 대하여


if ( ( a <= x && x <= b ) &&

     ( c <= y && y <= d )   )

와 같은 경우엔 산술적으론 if ( a + c <= x + y && x + y <= b + d )로 

바꾸어 쓸 수 있지만, 부호없는 정수일 경우 a + c가 넘치면(overflow) 사용될 수 없는 구문입니다.

또한 ( c <= x <= d ) ( a<= y<=b)와 같은 연산이 될 수 있어 경계가 정확하지않은 방법이니

주위를 요구합니다.

이 같은 경우엔 경계를 나누어야계산이 가능합니다.

a+c가 넘치지 않고, b+d가 넘친다면 0 <= x + y <= 2**32-1, 그렇지 않다면 a+c<=x+y<=b+d

a-d<0이고, b-c>=0이면 0<=x-y<=2**32-1, 그렇지 않다면 a-d<=x-y<=b-c

로 경우를 나누어야합니다.(&&생략, **연산은 제곱연산과 같습니다.)


-------

비트연산으로 모호한 경계점검하기


x^y <= x|y, x&y<=x===y (===연산은 상태가 같은 비트만 켜는 연산입니다. ~(x^y))

max(x,y)<=x|y, min(x,y)>=x&y는 항상 성립하는 부등식입니다.

또한 ~x == 2**32-1-x도 성립하죠

위 표현을 미루어 볼때 a,b,c,d,x,y연산은

max(a,c) <= x|y <= b+d

0 <= x&y <= min(b,d) (책에 나와있는데로 그대로 쓰긴 썼는데 a와 c에 값에 영향을 안받네요.)

0 <= x^y <= b+d

로 쓸 수 있습니다.

(~b <= ~x <= ~a) && (~d <= ~y <= ~c) 같은표현도 가능합니다.


다음번엔 popcount, nlz에 대하여 알아봅시다.

언제가 될진 모르겠네요

추천 비추천

8

고정닉 0

5

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 며느리, 사위되면 시댁, 처가에 잘할 것 같은 스타 운영자 25/10/13 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47921 65
2896239 요즘 홍어들은 구글쓰는게 국룰인듯 ㅇㅅㅇ 타이밍뒷.통수한방(1.213) 17:09 10 0
2896237 현시대는 토발즈도 1찍 짱깨편인 무서운 시대이다ㅋㅋ번식 더 해줘라 이기 [2] 타이밍뒷.통수한방(1.213) 16:45 16 0
2896236 벽투시기 기술, 조직스토킹 피해는 현실입니다 프갤러(182.218) 16:44 12 0
2896235 지피티랑 그록 성능 왜 갑자기 개박살남 [1] 공기역학갤로그로 이동합니다. 16:33 24 0
2896234 찢두순 노골적인 언론탄압 통제 [1] ♥덩냥이♥갤로그로 이동합니다. 16:31 18 0
2896233 이재명 "계엄 시행됐다면 코리안 킬링필드 열렸다" [2] 발명도둑잡기(118.216) 16:23 23 0
2896232 일본 미소녀 여자아이랑 성관계 아기 만들고 싶음 [1] 류류(125.141) 16:07 18 0
2896231 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 15:59 13 0
2896230 ❤✨☀⭐⚡☘⛩나로님 시작합니당⛩☘⚡⭐☀✨❤ Naro갤로그로 이동합니다. 15:55 12 0
2896229 이게 친중극좌 민주당 수준임.. ♥덩냥이♥갤로그로 이동합니다. 15:53 13 0
2896228 코테 준비 다들 어떻게 햇음? 프갤러(210.110) 15:51 15 0
2896227 회사에 비전공자들 있다고 불평하는새끼들 진짜 웃기네 ㅋㅋㅋㅋ [2] ㅇㅇ(220.70) 15:44 22 0
2896226 이런 글 되게 좋지 않니? ㅇㅇ갤로그로 이동합니다. 15:36 23 0
2896225 한국도 캄보디아 킬링필드 일어날뻔했구나... [5] ㅇㅇ(175.197) 15:31 33 0
2896224 가짜뉴스 음모론 극좌 ♥덩냥이♥갤로그로 이동합니다. 15:26 19 0
2896223 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 15:13 16 0
2896222 나님은 절대 자ㅅ 하지 않습니당❤+ [2] ♥덩냥이♥갤로그로 이동합니다. 15:12 38 0
2896221 개발자라면 금융권 가지마라 [3] chironpractor갤로그로 이동합니다. 14:43 45 0
2896220 '다케시마·일본해' 중립적 언어라 해명한 구글 [1] 발명도둑잡기(118.216) 14:19 26 0
2896219 여기 또 ㅈ창났노 ㅇㅇ(122.199) 14:17 30 0
2896218 불평등 해소를 위한 진보의 새로운 대안-모두를 위한 소유 ► 세션 2 모 [1] 발명도둑잡기(118.216) 14:01 22 0
2896217 케이스가 플라스틱이나 철 박스인 과자류 뭐있죠 발명도둑잡기(118.216) 13:57 16 0
2896216 예술작품으로 보는 내 위치 발명도둑잡기(39.7) 13:46 24 0
2896215 나님 아디 해킹하지마라 다 모니터링 하고 있다 [4] ♥덩냥이♥갤로그로 이동합니다. 13:33 62 0
2896214 구글코리아 부사장에 조선일보·화이자 출신 영입 [1] 발명도둑잡기(118.216) 13:26 27 0
2896213 반중을 혐한으로 대항하는 친중극좌 민주당 [3] ♥덩냥이♥갤로그로 이동합니다. 13:18 33 0
2896212 틀튜브 중국 망한다더니 [1] 발명도둑잡기(118.216) 13:13 29 0
2896211 이재명 불법대북송금? 비공개 예산 논란 ♥덩냥이♥갤로그로 이동합니다. 13:06 19 0
2896210 [대한민국] 카카오톡과 캄보디아 사건 프갤러(121.172) 13:04 15 0
2896209 김현지,이재명 범죄 대법원 판결문 공개 ♥덩냥이♥갤로그로 이동합니다. 13:03 26 0
2896208 확실히 환절기는 환절기임 ♥덩냥이♥갤로그로 이동합니다. 13:02 25 0
2896207 미술이나 작곡 기술 다 배워도 만들고 싶은게 없어서 프갤러(60.196) 12:58 22 0
2896206 증권사 개발자임 [6] ㅇㅇ(106.101) 12:57 74 0
2896204 이 대통령 "계엄 연루 군 승진대상자, 발각되면 취소하라" [3] 발명도둑잡기(118.216) 12:28 34 0
2896203 좇센이캄보디아평가할수준임??ㅋㅋㅋ 타이밍뒷.통수한방(1.213) 12:20 16 0
2896202 맘터는 ㄹㅇ 돈 받고 먹어줘도 먹을까말까임 ♥덩냥이♥갤로그로 이동합니다. 12:10 23 0
2896201 '캄보디아 사망' 서세원, 미완의 '카지노 대부' 발명도둑잡기(118.216) 12:08 22 0
2896200 누가 나님 냥덩이 만진거야? [2] ♥덩냥이♥갤로그로 이동합니다. 12:08 41 0
2896199 맘터는 ㄹㅇ 믿거 공짜로 줘도 안 머금 [2] ♥덩냥이♥갤로그로 이동합니다. 12:04 54 0
2896198 미국 여행 중 실종된 한국인 여성 3명…“생사불명, 흔적도 없어” 발명도둑잡기(118.216) 12:03 16 0
2896197 [단독] 캄보디아에 1천7백억 지원‥또 '김건희-통일교' 유착 의혹? 발명도둑잡기(118.216) 11:59 13 0
2896195 AGI << 이거 만들수 있는거 맞냐? [5] 루도그담당(58.239) 11:52 47 0
2896194 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 11:50 24 0
2896193 캄보디아 범죄단체에 극좌 정부기관 연관 가능성? ♥덩냥이♥갤로그로 이동합니다. 11:47 17 0
2896192 캄보디아 한국인피해 이재명 때문이었다 ♥덩냥이♥갤로그로 이동합니다. 11:41 29 0
2896191 "이명박 전 대통령, 캄보디아 총리 '경제 자문' 그만둬야" 발명도둑잡기(118.216) 11:40 21 0
2896190 [긴급] 김현지 종북간첩 경기동부연합과 연관 폭로 [2] ♥덩냥이♥갤로그로 이동합니다. 11:36 42 0
2896189 근데 솔직히 주식 프로그램<<이거 만든게 존나 운이 좋았음 [30] ㅆㅇㅆ(124.216) 11:33 134 0
2896188 국정농단 비선실세 의혹 김현지 대법원 판결문에 기록된 저급한 욕설 ♥덩냥이♥갤로그로 이동합니다. 11:33 32 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2