»Ë»Ñ Æ÷·³
°³¹ßÀÚÆ÷·³ ÀÔ´Ï´Ù.
  • ºÏ¸¶Å© ¾ÆÀÌÄÜ

¾È³çÇϽʴϱî. ÄÄÇ»ÅÍ°øÇаú 2Çгâ ÇлýÀÔ´Ï´Ù. logical shift ¸¦ c¾ð¾î·Î ±¸ÇöÇÏ´Â Äڵ带 ÀÛ¼ºÇغ¸¾Ò´Âµ¥¿ä, ¿¡·¯°¡ ÀÖ´Ù°í ³ª¿É´Ï´Ù. ¼±¹è´Ôµé µµ¿ÍÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù. ¤Ì¤Ì4

  • [* ºñȸ¿ø *]
  • µî·ÏÀÏ 2015-10-01 10:06
  • Á¶È¸¼ö 575
c¾ð¾î¿¡¼­ >> ¿¬»êÀº logical shift¿¬»êÀÌ ¾Æ´Ï¶ó arithmetic shift¶ó°í ÇÕ´Ï´Ù. >>,<<,&,| µî ºñÆ®¿¬»êÀÚ¿Í ½¬ÇÁÆ®¿¬»êÀÚµéÀ» ÀÌ¿ëÇÏ¿© logical shift¸¦ ±¸ÇöÇ϶ó´Â °úÁ¦Àä, <br /> ºñÁÖ¾ó ½ºÆ©µð¿À¿¡¼­ C¾ð¾î·Î ±¸ÇöÇÑ ÄÚµå´Â Á¦´ë·Î µ¿ÀÛÇϴµ¥, ¸®´ª½º ȯ°æ¿¡¼­ °úÁ¦È®ÀÎÇÁ·Î±×·¥¿¡ µ¹·Áº¸¸é ¿¡·¯°¡ ÀÖ´Ù°í ³ª¿É´Ï´Ù.
Á¶±³´Ôµµ ÄÚµå´Â ¸Â´Â°Å °°´Ù°í Çϴµ¥ ¿¡·¯°¡ ÀÖ´Ù°í ³ª¿É´Ï´Ù..

¼±¹è´Ôµé ¹¹°¡ À߸ø됬´ÂÁö Çѹø È®ÀÎÇØÁֽøé Á¤¸» °¨»çÇÏ°Ú½À´Ï´Ù. ¤Ì¤Ì °úÁ¦´Â Áß¿äÇÏÁö ¾ÊÁö¸¸ ¿À±â°¡ »ý°Ü¼­ ³¡ÀåÀ» ºÁ¾ß°Ú³×¿ä..



int logicalShift(int x, int n) {                 //ÁÖ¾îÁø x¸¦ n ºñÆ®¸¸Å­ logical shift ¿¬»ê!

        int temp,y;                               //x¸¦ >> ¿¬»ê½Ã MSB°¡ 1ÀÎ °æ¿ì(x°¡ À½¼öÀ϶§) Ãß°¡»ý¼ºµÇ´Â MSB°¡ 1ÀÌ µË´Ï´Ù. logical shift
                                                     //¿¡¼­´Â MSB°¡ 1ÀÎ °æ¿ì¿¡µµ >>¿¬»ê½Ã Ãß°¡ »ý¼ºµÇ´ÂMSB°¡ 0ÀÌ µÇ±â ¶§¹®¿¡  ¸Ç óÀ½¿¡ MSB
                                                      //¸¦ ¾ø¾ÖÁÖ´Â ÀÛ¾÷À» ÇÒ °ÍÀÔ´Ï´Ù. ±×·±µ¥ óÀ½¿¡ x¿¡ >>1À» ÇØ ÁÖ¾ú±â ¶§¹®¿¡ ¸¶Áö¸·¿¡ ´Ù½Ãx <<1<br />                                                        //¿¬»êÀ» ÇØÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. ±× ¶§ ¼Õ½ÇµÇ´Â °ªÀÌ »ý±æ ¼ö°¡ Àֱ⠶§¹®¿¡ ¹Ì¸® temp¿¡ ÀúÀåÇØ ÁÝ´Ï´Ù.
                                                       //y´Â Ãß°¡»ý¼ºµÇ´Â MSB¿Í &¿¬»êÀ» ÇÏ¿© Ãß°¡»ý¼ºµÈ MSB¸¦ ¾ø¾ÖÁÖ´Â ¿ªÇÒÀ» ÇÒ °ÍÀ̱⠶§¹®¿¡
                                                       //0x7FFFFFFF ·Î ÃʱâÈ­ÇÕ´Ï´Ù.    
         temp = x;                                 //temp¿¡ x¸¦ º¹»çÇÕ´Ï´Ù.
        temp = temp >> n;                     //temp¸¦ x°¡ À̵¿ÇÒ ¸¸Å­ÀÇ Å©±âÀÎ nºñÆ®¸¸Å­ >>¿¬»êÇÕ´Ï´Ù.
        temp = temp & 0x1;                    //¸¶Áö¸·¿¡ ¼Õ½ÇµÇ´Â ºñÆ®´Â ¸Ç ¿À¸¥ÂÊÀÇ ÇѺñÆ®À̱⠶§¹®¿¡ ÇÊ¿äÇÑ ºÎºÐ¸¸ 1°ú &¿¬»êÀ» ÇÏ¿©
                                                        //ÃÖÁ¾ÀûÀ¸·Î temp¿¡ ÀúÀåÇÕ´Ï´Ù.

        x = x >> 1;                                  //º» °è»êÀ¸·Î µé¾î°©´Ï´Ù. x ¸¦ 1¸¸Å­ >> ¿¬»êÇØÁÝ´Ï´Ù.(¿¬»ê½Ã »ý¼ºµÉ MSB¸¦ ¾ø¾Ö±â À§ÇØ)
        y = 0x7FFFFFFF;                           //y¿¡ 0x7FFFFFFF ¸¦ ³Ö¾îÁÝ´Ï´Ù.
        x = x & y;                                      //x&y¸¦ ÇØÁÖ°í °á°ú°ªÀ» x¿¡ ÀúÀåÇÕ´Ï´Ù. À̷νá xÀÇ MSB´Â 0ÀÌ µÇ¾ú½À´Ï´Ù.
        x = x >> n;                                   //¹®Á¦ÀÇ ÇÙ½ÉÀÎ x¸¦ n¸¸Å­ shiftÇØÁÝ´Ï´Ù. À§ÁÙÀÇ ÄÚµåµé ´öºÐ¿¡ logical shiftó·³ ÀÛµ¿ÇÕ´Ï´Ù.

        x = x << 1;                                   //óÀ½¿¡ x¸¦ 1¸¸Å­ >>¿¬»ê ÇØÁÖ¾ú±â¶§¹®¿¡ ´Ù½Ã 1¸¸Å­ << ¿¬»êÀ» ÇÕ´Ï´Ù. À̶§ ¼Õ½ÇµÇ´Â ºñÆ®°¡<br />         x = x + temp;                                 //¹ß»ýÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ óÀ½¿¡ x¸¦ >>1 ¿¬»ê ½ÃÅ°±â Àü¿¡ ÀÌ¹Ì temp¿¡ ÀúÀåÇصξú±â
                                                             //¶§¹®¿¡ temp¸¦ ´õÇØÁֱ⸸ ÇÏ¸é ¿ø·¡ÀÇ x°¡ n¸¸Å­ logical shift¸¦ ÇÑ ¸ð¾çÀÌ ¿Ï¼ºµÇ¾ú½À´Ï´Ù.
}
¼±¹è´Ôµé Ȥ½Ã ¿¡·¯ ÀÖ´ÂÁö Çѹø ºÁÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù..¹ã»õµµ·Ï ã¾ÆºÃ´Âµ¥ ÀÌ ÂªÀº Äڵ忡 ¹«½¼ ¿¡·¯°¡ ÀÖ´ÂÁö ¸ð¸£°Ú½À´Ï´Ù. ¤Ì¤Ì

0
ÃßõÇϱ⠴ٸ¥ÀÇ°ß 0
|
°øÀ¯¹öÆ°

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 »õ»î

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 [* ºñȸ¿ø *]

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 ¸Þ·Î³ª¸À¶ó¸é

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 [* ºñȸ¿ø *]
  • ¾Ë¸² ¿å¼³, »óó ÁÙ ¼ö ÀÖ´Â ¾ÇÇÃÀº »ï°¡ÁÖ¼¼¿ä.
©¹æ »çÁø  
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û ¸ñ·Ïº¸±â