Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C/C++ÒÆÎ»ÔËËã·û³ö½çºóµÄ½á¹ûÊDz»¿ÉÔ¤ÆÚµÄ

ת×Ô£ºhttp://dev.csdn.net/article/29/29329.shtm
 
¹ØÓÚÂß¼­ÒÆÎ»¡¢ËãÊõÒÆÎ»¿É²Î¼û ѸÀ×Éî´ó±ÊÊÔÌⲿ·Ö¡£µÄÒ»µÀÌâ¡£
ÒÔǰ¿´µ½C++±ê×¼ÉÏ˵£¬ÒÆÎ»ÔËËã·û£¨<<¡¢>>£©³ö½çʱµÄÐÐΪ²¢²»È·¶¨£º
The behavior is undefined if the right operand is negative, or greater than or equal to the length in bits of the promoted left operand.
ÎÒµ±Ê±Ò²Ã»ÓÐÉ¹ýÕâ¸öÎÊÌ⡣ǰ¼¸ÌìÓиöÍøÓÑÀ´ÐÅÎÊÆðÕâ¼þÊ£¬ÎҲŷ¢ÏÖ£¬ÕâºÍIntel CPUµÄÒÆÎ»ÔËËãÓйء£ÏÂÃæÊÇÄÇÎ»ÍøÓѵÄÀ´ÐÅÒÔ¼°ÎҵĻظ´£º
ÄúºÃ£¡ÔËËã·û<<×÷Ϊλ²Ù×÷ÖеĸßЧµÄ²Ù×÷£¬µ«ÎÒÓöµ½Ò»¸öÎÊÌ⣺ÏÂÃæÔÚVC»·¾³Ï·¢ÏÖÒ»¸öºÜ²»Ã÷°×µÄµØ·½£¬ÏÂÃæ±ê×¢¡£
#include <stdio.h>
void main()
{
   unsigned int i,j;
   i=35;
   //ΪʲôÏÂÃæÁ½¸ö×óÒÆ²Ù×÷½á¹û²»Ò»Ñù£¿
   j=1<<i;  // jΪ8
   j=1<<35; // jΪ0
}
²»ÖªÊÇÄÄÀïûÓÐÀí½â¶Ô¡£
Ô­ÒòÊÇÕâÑùµÄ£ºi=35;j=1<<i;ÕâÁ½¾äÔÚVCûÓÐ×öÓÅ»¯µÄÇé¿öÏ£¬½«±»±àÒë³ÉÏÂÃæµÄ»úÆ÷Ö¸Á
mov dword ptr [i],23h
mov eax,1
mov ecx,dword ptr [i]
shl eax,cl
mov dword ptr [j],eax
ÔÚshlÒ»¾äÖУ¬eax=1£¬cl=35¡£¶øIntel CPUÖ´ÐÐshlÖ¸Áîʱ£¬»áÏȽ«clÓë31½øÐÐand²Ù×÷£¬ÒÔÏÞÖÆ×óÒÆµÄ´ÎÊýСÓÚµÈÓÚ31¡£ÒòΪ35 & 31 = 3£¬ËùÒÔÕâÑùµÄÖ¸ÁîÏ൱ÓÚ½«1×óÒÆ3룬½á¹ûÊÇ8¡£
¶øj=1<<35;Ò»¾äÊdz£ÊýÔËË㣬VC¼´Ê¹²»×öÓÅ»¯£¬±àÒëÆ÷Ò²»áÖ±½Ó¼ÆËã1<<35µÄ½á¹û¡£VC±àÒëÆ÷·¢ÏÖ35´óÓÚ31ʱ£¬¾Í»áÖ±½Ó½«½á¹ûÉèÖÃΪ0¡£ÕâÐдúÂë±àÒë²úÉúµÄ»úÆ÷Ö¸ÁîÊÇ£º
mov dword ptr [j],0
¶ÔÉÏÃæÕâÁ½ÖÖÇé¿ö£¬Èç¹û°ÑVC±àÒëÆ÷µÄÓÅ»¯¿ª¹Ø´ò¿ª£¨±ÈÈç±àÒë³ÉRelease°æ±¾£©£¬±àÒëÆ÷¶¼»áÖ±½Ó½«½á¹ûÉèÖÃΪ0¡£
ËùÒÔ£¬ÔÚC/C++ÓïÑÔÖУ¬ÒÆÎ»²Ù×÷²»Òª³¬¹ý½çÏÞ£¬·ñÔò£¬½á¹ûÊDz»¿ÉÔ¤ÆÚµÄ¡£
ÏÂÃæÊÇIntelÎĵµÖйØÓÚshlÖ¸ÁîÏÞÖÆÒÆÎ»´ÎÊýµÄ˵Ã÷£º
The destination operand can be a register or a memory location. The count operand can be an immediate value or register CL. The count is masked to 5 bits, which limits the count range to 0 to 31. A special opcode encoding is provided for a count of 1.


Ïà¹ØÎĵµ£º

½â¶Á¸´ÔÓµÄC/C++ÉùÃ÷[ÈëÃÅÆª]

¸´ÔÓµÄC\C++ÉùÃ÷£¬³£³öÏÖÔÚѧУµÄ¿¼¾í£¬ÃæÊÔÌâ»òÊÇÅ£ÈËÀÏÍâµÄ´úÂëÖС£
ÎÒÃÇÔÚʵ¼ÊµÄ¹¤×÷ÖУ¬Ó¦¸Ã¾¡¿ÉÄÜÉÙʹÓø´ÔÓµÄÉùÃ÷¡£¸´ÔÓµÄÉùÃ÷£¬»áÈÃÔĶÁÄú´úÂëµÄÈ˺ÜÊÇÓôÃÆ¡£
ËäÈ»²»Ê¹ÓÃÕâÖÖ¸´ÔÓµÄÉùÃ÷£¬µ«»¹ÊÇÓ¦¸Ã°Ñ½«ÈçºÎ½âÎöÕâÖÖ¸´ÔÓµÄÉùÃ÷µÄ·½·¨¼ÇÔÚÐÄÖС£
ËùÒÔ£¬ÎÒ°ÑÕâÖÖ·½·¨¼Ç¼ÏÂÀ´£¬ÒÔ±¸²»Ê±Ö®Ðè¡£
ÈëÃÅÌâ
1) Ò»¸öÕûÐ ......

Pelles C±àÒëÆ÷¼ò½é

Ö÷Ò³£º        http://www.christian-heffner.de/
ÏÂÔØÁ´½Ó£º  http://www.christian-heffner.de/index.php?page=download¡´=en
¼ò½é£º
»ùÓÚLCCµÄÒ»¿îC±àÒëÆ÷£¬Óбê×¼µÄIDE½çÃæ£¬ÀàËÆVCµÄ½çÃæ£¬µ±È»ºÍDEV-C++»¹ÓÐMingW32 studio½çÃæÒ²ºÜÏñ£¬¿ÉÒÔÓÃÓÚ´´½¨Ð¡Ò»µãµÄ»ùÓÚCµÄ¹¤³Ì¡£
IDE´úÂë±à¼­½ ......

C²Ù×÷·ûµÄÓÅÏȼ¶ºÍ¹ØÁª¹æÔò

C²Ù×÷·ûµÄÓÅÏȼ¶ºÍ¹ØÁª¹æÔò
²Ù×÷·û
¹ØÁª¹æÔò
¹ØÁª²Ù×÷·û ()  []  ->  .
´Ó×óµ½ÓÒ
Ò»Ôª²Ù×÷·û  !  –  ++  --  +  -  (type)  *  &  sizeof
´ÓÓÒµ½×ó
³Ë·¨ºÍ³ý·¨  *  /  %
´Ó×óµ½ÓÒ
¼Ó·¨ºÍ¼õ·¨  +  -
´Ó× ......

linux ºÜ²»´íϵÄC/C++¿ª·¢¿ª·¢»·¾³ mono

      ½ñÌì×°ºÃÁËmonodevelop£¬±¾À´ÊÇÏëÓÃÀ´C#µÄ£¬¼ûËûÒ²Ö§³ÖC/C++¿ª·¢£¬ÓÚÊÇÊÔÁËһϣ¬¸Ð¾õºÜ²»´í£¬ÖÕÓÚÕÒµ½ÁËlinuxÏÂÒ»¸ö±È½ÏÂúÒâµÄC++¿ª·¢»·¾³¡£
      ÒÔǰдC++¶¼ÊÇÔÚEclipseÏÂдµÄ£¬µ«EclipseÆô¶¯Âý£¬ÅäÖÃÂé·³£¬ºÍjavaÒ»ÆðÓõÄʱºòºÜÈÝÒ׳ö´í£¬Óõĺܲ»Ë¬£¬µ±È»¸ ......

CÀàÐÍת»»


Ç¿ÖÆÀàÐÍת»»ÊÇͨ¹ýÀàÐÍת»»ÔËËãÀ´ÊµÏֵġ£ÆäÒ»°ãÐÎʽΪ£º (ÀàÐÍ˵Ã÷·û) (±í´ïʽ) Æä¹¦ÄÜÊǰѱí´ïʽµÄÔËËã½á¹ûÇ¿ÖÆ×ª»»³ÉÀàÐÍ˵Ã÷·ûËù±íʾµÄÀàÐÍ¡£ÀýÈ磺 (float) a °Ñaת»»ÎªÊµÐÍ(int)(x+y) °Ñx+yµÄ½á¹ûת»»ÎªÕûÐÍÔÚʹÓÃÇ¿ÖÆ×ª»»Ê±Ó¦×¢ÒâÒÔÏÂÎÊÌ⣺
1.ÀàÐÍ˵Ã÷·ûºÍ±í´ïʽ¶¼±ØÐë¼ÓÀ¨ºÅ(µ¥¸ö±äÁ¿¿ÉÒÔ²»¼ÓÀ¨ºÅ)£¬Èç°Ñ(int) ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ