navs님같은 기발한 코딩은 못하지만 아래 해석 원하시는분이 계셔서 <div><br></div> <div>건방지게 보일지 모르지만 제가 해석한 내용을 적어볼게요. </div> <div><br></div> <div><br></div> <div>일단 %c%c 로 출력하는걸 보면 앞의 %c는 변수 i로 드라이브되고, 뒤의 %c는 변수 j로 드라이브 됩니다.</div> <div><br></div> <div>결과부터 말씀드리면 앞의 %c는 SP(공백)이랑 *(별)만 찍고요</div> <div><br></div> <div>뒤의 %c는 NULL(아무것도 안찍음)과 NL(줄바꿈)만 찍습니다.</div> <div><br></div> <div>아래 그림과 같이 i,j로 컨트롤되는 %c%c가 순서대로 찍히면 별이 되는데요,</div> <div><br></div> <div><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201508/1439985647sW6ey5kjkDCJHsX8oYhvV.jpg" width="720" height="960" alt="1.JPG" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그럼 비트는 뭘하는거냐...하면 앞에 보셨든 각각의 %c는 찍는게 딱 두개씩있자나요.</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그래서 뭘찍을지 판단하는걸 bit연산으로 하는겁니다(0일땐 뭘찍고 1일땐 뭘찍고)</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">원리는 navs님께서 i, j 변수에 각각 뭔가 오묘한 숫자를 넣었는데 그걸 펼치면 아래 그림과 같아요.</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그리고 i >>= 1 이거는 i에 있는 비트를 우측으로 1번 시프트한 결과를 다시 i에 넣는거고,</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">i&1, j&1 연산이 하는 역할은 맨 우측에 있는 숫자가 1인지 0인지 판단하는겁니다.</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">0000 & 1 = 0</div> <div style="text-align:left;">0001 & 1 = 1</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">이거든요.</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그래서 아래와 같이 01010001 이런 반복이 %c%c를통해 뭘찍는지에 대한 규칙이라고 이해하면 편하실거에요.</div> <div style="text-align:left;">실제로 navs님 코드에서 앞의 %c는 i에 저장된 값의 맨 우측 비트가 0이면 공백을찍고 1이면 별을찍습니다.</div> <div style="text-align:left;">우측 %c는 j에 저장된 값의 맨 우측 비트가 0이면 아무것도 안찍고 1이면 줄바꿈을 해요.</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">결국에는 i,j의 초기값과 시프트-어사인 연산과 & 연산을 조합해서 하신거라고 볼수 있겠네요.</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201508/1439985647tADrDLOqc3sh4qS8IBD.jpg" width="800" height="600" alt="2.JPG" class="chimg_photo" style="font-size:9pt;line-height:1.5;border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">스케치도 지저분하고 설명이 잘 되었나 모르겠지만, 도움이 되셨길 바라고</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">제가 혹시 잘못알고 있는 부분 있으면 알려주시면 감사하겠습니다.</div></div>
이 게시물을 추천한 분들의 목록입니다.
[1] 2015/08/19 21:21:26 14.39.***.48 프로그래머
53975[2] 2015/08/19 21:41:40 125.134.***.28 질문시ㅴ바람
214116[3] 2015/08/19 21:43:50 112.167.***.213 아이고이런
135496[4] 2015/08/19 22:20:56 61.255.***.134 푸르게
439050[5] 2015/08/19 22:26:53 96.228.***.66 MioLiquid
636756[6] 2015/08/20 00:09:40 175.215.***.210 xtim
662648[7] 2015/08/20 07:55:59 1.253.***.123 우헤헤헤헤
137160
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.