|
(광고) 단통법 시대의 인터넷가입 가이드(ver2.0) (234) |
백메가 |
2015-12 |
1690127 |
25 |
2015-12
1690127
1 백메가
|
|
[필독] 처음 오시는 분을 위한 안내 (734) |
정은준1 |
2014-05 |
5155732 |
0 |
2014-05
5155732
1 정은준1
|
67705 |
레노버 타블렛 P11 성능이 어떤가요? (10) |
막울었어요 |
2022-09 |
1681 |
0 |
2022-09
1681
1 막울었어요
|
67704 |
PFsense2.2 로드밸런싱 (2) |
하얀고니 |
2015-05 |
5406 |
0 |
2015-05
5406
1 하얀고니
|
67703 |
프로그램들이 설치 중에 멈추는 증상은 어떻게 해결해야 할까요? (11) |
Super64 |
2017-06 |
4032 |
2 |
2017-06
4032
1 Super64
|
67702 |
Vmware ESXi 두번째 랜카드 설정 문의 (2) |
soohoonkim |
2021-02 |
3556 |
0 |
2021-02
3556
1 soohoonkim
|
67701 |
욕실 벽 타일에 수납장 고정방법 -이렇게 했습니다. (1) |
철 |
2015-05 |
10017 |
0 |
2015-05
10017
1 철
|
67700 |
안드로이드 : 명령어가 없습니다. 질문 (2) |
화란 |
2019-11 |
5643 |
0 |
2019-11
5643
1 화란
|
67699 |
아이패드용 웹 브라우저, 스크롤 안해도 풀스크린 표시 되는 거 있나요? |
린드버그 |
2022-09 |
1301 |
0 |
2022-09
1301
1 린드버그
|
67698 |
이해가 안가는 사항이 생겨서. (4) |
다롱이 |
2014-01 |
4186 |
0 |
2014-01
4186
1 다롱이
|
67697 |
HP 마이크로서버 SD카드 부팅에 관련하여. (1) |
테돌아이 |
2015-05 |
4705 |
0 |
2015-05
4705
1 테돌아이
|
67696 |
[re] 펜3 투알라틴.... 참고하세요. 튜알과 FC-PGA2는 다르다? |
정상용 |
2002-05 |
17909 |
278 |
2002-05
17909
1 정상용
|
67695 |
놋북 믿고살만한 (친절업체) 아시면 좀 알려주세요... (7) |
김건우 |
2011-09 |
5990 |
0 |
2011-09
5990
1 김건우
|
67694 |
이런경우 덴트같은 시공은 불가능 한가요? 흠 교체만이 답인지 궁금 합니다.. (10) |
늘파란 |
2017-06 |
3531 |
0 |
2017-06
3531
1 늘파란
|
67693 |
펜티엄4 Xeon용 듀얼 메인보드 Supermicro P4DC6+ 보드에 맞는 제품좀골라주세요 (14) |
편호준 |
2002-05 |
17195 |
48 |
2002-05
17195
1 편호준
|
67692 |
렌더링/모델링 위주 작업으로 컴을 맞출려는데 질문드립니다. (3) |
조현철 |
2008-03 |
5302 |
12 |
2008-03
5302
1 조현철
|
67691 |
워크스테이션 소비전력 어마어마하네요... (19) |
편한세상 |
2016-07 |
10620 |
0 |
2016-07
10620
1 편한세상
|
67690 |
삼성 DM-V70 E5450 제온 개조 바이오스 부탁드립니다. (2) |
경기광주 |
2017-06 |
4744 |
1 |
2017-06
4744
1 경기광주
|
67689 |
사운드 카드 추천 좀... (9) |
정영교 |
2005-05 |
5907 |
2 |
2005-05
5907
1 정영교
|
67688 |
레노보 G575 절전모드 진입시 블루 스크린.. (5) |
AKG |
2014-01 |
7810 |
0 |
2014-01
7810
1 AKG
|
67687 |
2603보드의 점프세팅에 관한질문 (3) |
조원빈 |
2002-06 |
15798 |
16 |
2002-06
15798
1 조원빈
|
67686 |
RAID 카드에서 Direct I/O 와 Cached I/O 와의 성능차이? (2) |
손상욱 |
2005-06 |
6229 |
7 |
2005-06
6229
1 손상욱
|
int get_msb(int x) {
/* Shift by w-8 */
int shift_val = (sizeof(int)-1)<<3;
/* Arithmetic shift */
int xright = x >> shift_val;
/* Zero all but LSB */
return xright & 0xFF;
}
비트 연산이라고 합니다.
즉 변수의 값이 들어오면 변수의 값이 어떻게 되나 확인하고 비트 라이트로 몇번째 의 값이 작은지 큰지 물어 보고 값을 리턴 하는것입니다.
비트연산 이라고 한번 검색해보세요..
따로 쓰지 말라는 비교문 법칙이 그 표현을 쓰지 말라는것이면 문제 자체는 그냥 귀찮은 조건이 달려있는 수준입니다..
c계열이라면 if(a)일 경우 a가 0이 아니면 TRUE로 만들수 있으니 조건 자체를 그냥 비트 연산으로 하라는 문제로 보입니다..
int를 모두 0으로 채우는건 unsigned int b = 0이면 되고..
int를 모두 1로 채우는건 위에서 b-1하면 되고..
lsb나 msb는 그냥 1이나 -1을 대입하고 시스템에 따라 적당한 비트를 0으로 마스크 시켜 재 확인하면 될겁니다.,.
우측 시프트를 취한다는 문제 자체는 이해가 되지 않습니다.. 리틀/빅엔디안인가.. 그거면 포인터 확인해서 msb나 lsb의 위치 확인만 하면 되는것 같습니다.
제가 무지 즐기던 종목이네요 ㅎㅎ
and or xor not 등의 게이트들만으로 모든 연산은 가능하니까요... 근데 문제를 읽었는데 뭘 하라는건지 잘 모르겠어요 ㅠㅠ 죄송합니다... 좀 쉽게 풀어서 문제를 적어주시면...
c function 으로 만들어 드리겠습니다 ㅋ
쉽게 풀어서 얘기하면 음..
2.61 문제는
a번 문제에서, 만약 인풋이 -1이면, 즉 최상위 부호비트를 포함한 비트가 모두 1이면 리턴값이 1이 나오면 되고 인풋이 양수라서 최상위 부호비트가 0이 되거나 나머지 부호비트가 0이되면 리턴이 0이 되는 프로그램을 짜는 것입니다. 제가 설먕을 잘 못해서ㅠㅠ 이해하셨나요?
c와 d번 문제는 번역이 좀 별로라서 저도 이해하는데 애먹었네요. d번은 최상위 부호비트를 포함한 바이트의 모든 비트. 즉, 상위 8개의 비트를 말합니다.
c번은 반대로 상위 8개를 제외한 모든 비트를 말합니당. 이해하는데 도움이 되셨을지 모르겠네요...ㅜㅜ
2.62문제는 리틀엔디안 빅엔디안에 따른 연산의 차별성에 관련해서 나온 문제인것같은데 저도 이해가 잘 안가서 손을 못대고있네요.. 2.61이라도 도움 주시면 감사하겟습니당
int carry, sum;
carry = (n1 & n2) << 1; // Find bits that are used for carry
sum = n1 ^ n2; // Add each bit, discard carry.
if (sum & carry) // If bits match, add current sum and carry.
return badd(sum, carry);
else
return sum ^ carry; // Return the sum.
}
int bsub(int n1, int n2){
// Add two's complement and return.
return badd(n1, badd(~n2, 1));
}
** 출처
https://stackoverflow.com/questions/12538724/performing-arithmetic-operations-in-binary-using-only-bitwise-operators
2.61.A return !(x ^ -1);
2.61.B return !x;
2.61.C return !((x & 0xff) ^ 0xff);
2.61.D return !get_msb(x);
2.62 return get_msb(x >> 8);
예시로 사용된 get_msg()를 이용해서 함수호출만 없게하면 될 것 같습니다.
여기에 질문하시면 왠만한건 다 해결되는 놀라운 경험을 하실 수 있습니다~