C±ê×¼¿âº¯ÊýabsµÄÒ»¸ö´íÎó
0x80000000£¬¼´–2147483648ʱ,¶ÔËüÈ¡¸º»á²úÉúÉÏÒç
VC.NET 7.1 ÌṩµÄÈ¡¾ø¶ÔÖµº¯Êý(abs.cÖÐ)ÈçÏ£º
¡¡¡¡ int __cdecl abs ( int number)
¡¡¡¡ {
¡¡¡¡ return( number>=0 ? number : -number );
¡¡¡¡ }
¡¡¡¡ ´Ëº¯ÊýʵÏֵ÷dz£¼òµ¥£¬Õ§¿´Ö®ÏÂÎÞÈκÎ벡£¬¿ÉÊÇ×Ðϸ×ÁÄ¥×ÁÄ¥£¬¾Í·¢ÏÖÁËÒ»¸ö´ó©¶´¡£¾Ù¸ö¼«¶ËµÄÀý×Ó£¬µ±º¯Êý²ÎÊýΪINT_MIN(32λµÄint´ËֵΪ0x80000000£¬¼´–2147483648)ʱ,¶ÔËüÈ¡¸º»á²úÉúÉÏÒ磬ÒòΪ32λµÄintÄܱíʾµÄ×î´óÕýÊýÊÇINT_MAX(0x7fffffff£¬¼´2147483647)¡£Êµ¼ÊÉÏ£¬¶ÔINT_MINÈ¡¸ºµÈÓÚʲôҲûÓиÉ(0x80000000°´ÕÕ²¹ÂëÈ¡¸º¹æÔò»¹ÊÇ0x80000000)¡£ÒòΪº¯ÊýÉùÃ÷µÄ·µ»ØÖµÒ²ÊÇint£¬ËùÒÔ´ó¶àÊýʱºò³ÌÐòÔ±»áÓÃij¸öint±äÁ¿À´½ÓÊÕÕâ¸ö·µ»ØÖµ£¬µ«ÊÇÈçÉÏËùÊöµÄ¼«¶ËÇé¿öÔò¼¸ºõ°Ù·Ö°ÙµØµ¼Ö³ÌÐò»ìÂÒ¡£
¡¡¡¡ ¼òµ¥µÄ½â¾ö°ì·¨¾ÍÊÇ×ÜÊÇÓÃunsigned intÀàÐ͵ıäÁ¿À´½ÓÊÕ·µ»ØÖµ¡£ÒòΪ32λµÄunsigned intµÄÖµÓò·¶Î§ÊÇ0µ½4294967295(0xffffffff),2147483648ÂäÔÚÕâ¸ö·¶Î§ÄÚ£¬ËùÒÔÓÃunsigned int±äÁ¿¿ÉÒÔÕýÈ·µØ±í´ïINT_MINµÄ¾ø¶ÔÖµ¡£Èç¹û¾õµÃÕâÖÖ×ö·¨ÈÝÒ×Íü¼Ç£¬»¹¿ÉÒÔ×Ô¼ºÐ´Ò»¸öabs£¬Ö»ÐèÔÚÉÏÊöº¯ÊýÌåµÄÇ°Ãæ¼ÓÒ»¾äassert(number > INT_MIN)¾ÍÐÐÁË£¬»òÕß½«·µ»ØÖµ¸Ä³Éunsigned intÀàÐÍ¡£
¡¡¡¡ ΪʲôÔÚ±ê×¼¿âÖлá³öÏÖÕâôÒþ±ÎµÄ©¶´ÄØ£¿ÒòΪ¼ÆËã»úµÄ´æ´¢¿Õ¼äÓÐÏÞ£¬ËùÒÔCÖеÄÿÖÖÀàÐÍËùÕ¼×Ö½ÚÊýÒ²ÐëÊÇÓÐÏÞ´óС£¬ÕâÑù³ÌÐòÓïÑÔÖеÄÀàÐÍÕæÕýÄܱíʾµÄÖµÓò¾ÍÊǶÔÓ¦ÊýѧÀàÐÍÖµÓòµÄÓÐÏÞ×Ó¼¯ÁË¡£Õâ¾ÍÊÇÏÖʵÓëÀíÏëµÄ²î¾à¡£²»½öÈç´Ë£¬ÒòΪÓзûºÅÀàÐͱÈÎÞ·ûºÅÀàÐͶದ³öÒ»¸ö¶þ½øÖÆλÀ´±íʾ·ûºÅÐÅÏ¢£¬ÔòËüÃÇÄܱíʾµÄÖµÓòÓÖÓÐËù²îÒì¡£µ«ÊdzÌÐòԱд³ÌÐòÈ´ÍùÍùÓÐÒâ»òÎÞÒâµØºöÂÔÕâÖÖ²î±ð£¬²»Ô¸Ãæ¶ÔÏÖʵ(ÕýÈçÓеijÌÐòÔ±µ÷Óú¯Êý´Ó²»¼ì²é·µ»ØÖµ)¡£ËûÃÇʹÓóÌÐòÖеÄÀàÐ;ÍÏóÔÚʹÓÃÀíÏëµÄÊýѧÉϵÄÀàÐÍÒ»Ñù¡£Å·ÖÞ°¢ÀïÑÇÄÉ»ð¼ý±¬Õ¨¾ÍÊÇ´ËÖÖ´íÎó¸øÎÒÃǵÄ×î²ÒÍ´½Ìѵ¡£
¡¡¡¡ ¼ÈÈ»Èç´Ë£¬Ã¿Ò»¸öC³ÌÐòÔ±¶¼ÓÐÔðÈÎÀμÇÕâôһÌõ¹æÔò:“¾³£·´ÎÊ£ºÕâ¸ö±äÁ¿»ò±í´ïʽ»áÉÏÒç»òÏÂÒçÂ𣿔(¡¶±à³Ì¾«´â£Microsoft±àдÓÅÖÊÎÞ´íC³ÌÐòÃؾ÷¡·P80,Steve Maguire Öø)¡£
Àý×Ó:
#include <stdio.h>
int MyAbs(int number)
{
return(number>=0 ? number :(-number));
}
void main()
{
int number = 0x80000000;
int absnumber = MyAbs(number);
if(absnumber<0)
pri
Ïà¹ØÎĵµ£º
LinuxÏÂCºÍC++¿ª·¢»ù´¡
»ù±¾±à³Ì¸ÅÄî
n ±à³ÌÓïÑÔ£ºC ¡¢C++
n ±àÒë(compile)£ºÔ´Îļþ£¨.c£©->Ä¿±êÎļþ(.o)
n Á¬½Ó(link)£ºÄ¿±êÎļþ(.o)->¿ÉÖ´ÐÐÎļþ
n ¿â(library)£º¾²Ì¬Á¬½Ó¿â(.a)¡¢¶¯Ì¬Á¬½Ó¿â(.so)
LinuxÏ¿ª·¢¹¤¾ß
n±à¼Æ÷£ºvi¡¢emacs¡¢´°¿Ú±à¼Æ÷
n±àÒëÆ÷£ºGCC
nµ÷ÊÔÆ÷£ºGDB
n¿ÉÖ´ÐÐÎļþ¹¤¾ß£ ......
http://www.ibm.com/developerworks/cn/aix/library/au-toughgame/index.html
Ó¢ÎÄÔÎÄ
ÒýÑÔ
¶ÔÓÚÈκÎʹÓà C ÓïÑÔµÄÈË£¬Èç¹ûÎÊËûÃÇ C ÓïÑÔµÄ×î´ó·³ÄÕÊÇʲô£¬ÆäÖÐÐí¶àÈË¿ÉÄÜ»á»Ø´ð˵ÊÇÖ¸ÕëºÍÄÚ´æй©
¡£ÕâЩµÄÈ·ÊÇÏûºÄÁË¿ª·¢ÈËÔ±´ó¶àÊýµ÷ÊÔʱ¼äµÄÊÂÏî¡£Ö¸ÕëºÍÄÚ´æ驶ÔijЩ¿ª·¢ÈËÔ±À´ËµËƺõÁîÈËη¾å£¬µ«ÊÇÒ»µ©ÄúÁ˽ ......
ÔÚC/C++ÖÐÎÒÃÇÓÐʱΪÁ˽ÚÊ¡ÄÚ´æÕ¼Óÿռ䣬ÐèҪʹÓõ½Î»Óò£¬ÈçÏÂËùʾ´úÂ룺
struct SDummy
{
int A : 2;
int B : 8;
int C : 12;
int D : 10;
};
ÔÚ¼ÆËã»úÄÚ´æ°º¹óµÄÇé¿öÏ£¬Î»Óò²»·¦ÎªÒ»ÖÖÓÐЧµÄ½ÚÊ¡ÄÚ´æÕ¼ÓÿռäÓÖÈôúÂëÊéд±È½ÏͨË×Ò׶®µÄ·½·¨¡£µ«ÊÇÔÚÏÖ½ñÄÚ´æÏà ......
ÓдÎÒ»¸öͬÊÂÎÊÎÒ
swc ^= swc;
ÊÇʲôÒâ˼,ÎÒÒ²²»ÖªµÀ,²éÁËÏÂ,Òâ˼Ӧ¸ÃÊǽ«swc±äÁ¿Çå0£¬ÒÉ»óµÄÊÇΪʲô¾Í²»ÄÜд³É swc = 0; ÄØ?²»Ã÷°×
˳±ã¼Ç¼ÏÂÆäËûµÄ²Ù×÷,Åöµ½ÐµÄÔÙ×·¼Ó:
swc = ~swc; //±äÁ¿È¡·´ ......
c/C++Îļþ²Ù×÷
Èí¼þ¿ª·¢ 2009-03-12 16:22 ÔĶÁ18 ÆÀÂÛ0
×ֺţº ´ó´ó ÖÐÖРСС
»ùÓÚCµÄÎļþ²Ù×÷
¡¡¡¡ÔÚANSI CÖУ¬¶ÔÎļþµÄ²Ù×÷·ÖΪÁ½ÖÖ·½Ê½£¬¼´Á÷ʽÎļþ²Ù×÷ºÍI/OÎļþ²Ù×÷£¬ÏÂÃæ¾Í·Ö±ð½éÉÜÖ®¡£
Ò»¡¢Á÷ʽÎļþ²Ù×÷
¡¡¡¡ÕâÖÖ·½Ê½µÄÎļþ²Ù×÷ÓÐÒ»¸ö ......