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¿ÉÖ´ÐÐÎļþ¹¤¾ß£ ......
/*
* linux/kernel/floppy.c
*
* (C) 1991 Linus Torvalds
*/
/*
* 02.12.91 - Changed to static variables to indicate need for reset
* and recalibrate. This makes some things easier (output_byte reset
* checking etc), and means less i ......
/*±àд³ÌÐò£¬ÊäÈë2¸öÊýÒÔ¼°¼Ó¼õ³Ë³ýÖеÄijÔËËã·ûºÅ£¬²¢µ÷ÓÃ×Ô¼º±àдµÄº¯Êý¼ÆËãÏàÓ¦µÄ½á¹û*/
#include<stdio.h>
#include<conio.h>
float cal(int a,char sym,int b);
main()
{
int a=0,b=0;
char sym='\0';
float c=0.0;
scanf("%d%c%d",&a,&sym,&b);
c=c ......
1.
ÒýÑÔ
¡¡¡¡C++
ÓïÑԵĴ´½¨³õÖÔÊÇ“a
better C”
£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++
ÖÐÀàËÆC
ÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëC
ÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC
¼æÈݵÄÓïÑÔ£¬C++
±£ÁôÁËÒ»²¿·Ö¹ý³Ì ʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“
²»³¹µ×µØÃæÏò¶ÔÏó”
£©£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö ......
²Î¿¼¡¶linuxÄÚºËÍêȫעÊÍ¡·ºÍÍøÉÏÏà¹ØÎÄÕÂ
/*
* ¿ØÖÆÌ¨ÏÔʾ²Ù×÷
*/
/*
* linux/kernel/console.c
*
* (C) 1991 Linus Torvalds
*/
/*
* console.c
*
* This module implements the console io functions
* 'void con_init(v ......