C/C++ÖеÄ64λÕûÊý£¨__int64 and long long£©
¡¡¡¡ÔÚ×öACMÌâʱ£¬¾³£¶¼»áÓöµ½Ò»Ð©±È½Ï´óµÄÕûÊý¡£¶ø³£ÓõÄÄÚÖÃÕûÊýÀàÐͳ£³£ÏÔµÃ̫СÁË£ºÆäÖÐlong ºÍ int
·¶Î§ÊÇ[-2^31,2^31)£¬¼´-2147483648~2147483647¡£¶øunsigned·¶Î§ÊÇ[0,2^32)£¬¼´
0~4294967295¡£Ò²¾ÍÊÇ˵£¬³£¹æµÄ32λÕûÊýÖ»Äܹ»´¦Àí40ÒÚÒÔϵÄÊý¡£
¡¡¡¡ÄÇÓöµ½±È40ÒÚÒª´óµÄÊýÔõô°ìÄØ£¿Õâʱ¾ÍÒªÓõ½C++µÄ64λÀ©Õ¹ÁË¡£²»Í¬µÄ±àÒëÆ÷¶Ô64λÕûÊýµÄÀ©Õ¹ÓÐËù²»Í¬¡£»ùÓÚACMµÄÐèÒª£¬ÏÂÃæ½ö½éÉÜ
VC6.0Óëg++±àÒëÆ÷µÄÀ©Õ¹¡£
¡¡¡¡VCµÄ64λÕûÊý·Ö±ð½Ð×ö__int64Óëunsigned __int64£¬Æä·¶Î§·Ö±ðÊÇ[-2^63,
2^63)Óë[0,2^64)£¬¼´-9223372036854775808~9223372036854775807Óë
0~18446744073709551615(Ô¼1800ÒÚÒÚ)¡£¶Ô64λÕûÊýµÄÔËËãÓë32λÕûÊý»ù±¾Ïàͬ£¬¶¼Ö§³ÖËÄÔòÔËËãÓëλÔËËãµÈ¡£µ±½øÐÐ64λÓë
32λµÄ»ìºÏÔËËãʱ£¬32λÕûÊý»á±»Òþʽת»»³É64λÕûÊý¡£µ«ÊÇ£¬VCµÄÊäÈëÊä³öÓë__int64µÄ¼æÈݾͲ»ÊǺܺÃÁË£¬Èç¹ûÄãдÏÂÕâÑùÒ»¶Î´úÂ룺
1 __int64 a;
2 cin >> a;
3 cout << a;
ÄÇô£¬ÔÚµÚ2ÐлáÊÕµ½“error C2679: binary '>>' : no operator
defined which takes a right-hand operand of type '__int64' (or there is
no acceptable conversion)”µÄ´íÎó£»ÔÚµÚ3ÐлáÊÕµ½“error C2593: 'operator <<'
is ambiguous”µÄ´íÎó¡£cout,cin¶ÔÓÚ__int64ÎÞÄÜΪÁ¦£¬Ð´·¨½Ï¸´ÔÓ£¬²»¹ýÒ²¾³£
²»Óá£
ÄÇÊDz»ÊǾͲ»ÄܽøÐÐÊäÈëÊä³öÄØ£¿µ±È»²»ÊÇ£¬Äã¿ÉÒÔʹÓÃCµÄд·¨£º
scanf("%I64d",&a);
printf("%I64d",a);
¾Í¿ÉÒÔÕýÈ·ÊäÈëÊä³öÁË¡£µ±Ê¹ÓÃunsigned __int64ʱ£¬°Ñ"I64d"¸ÄΪ"I64u"¾Í¿ÉÒÔÁË¡£
¡¡¡¡OJͨ³£Ê¹ÓÃg++±àÒëÆ÷¡£Æä64λÀ©Õ¹·½Ê½ÓëVCÓÐËù²»Í¬£¬ËüÃÇ·Ö±ð½Ð×ölong long Óë unsigned long
long¡£´¦Àí¹æÄ£Óë³ýÊäÈëÊä³öÍâµÄʹÓ÷½·¨Í¬ÉÏ¡£¶ÔÓÚÊäÈëÊä³ö£¬ËüµÄÀ©Õ¹±ÈVCºÃ¡£¼È¿ÉÒÔʹÓÃ
1 long long a;
2 cin>>a;
3 cout<<a;
Ò²¿ÉÒÔʹÓÃ
scanf("%lld",&a);
printf("%lld",a);
ʹÓÃÎÞ·ûºÅÊýʱ£¬½«"%lld"¸Ä³É"%llu"¼´¿É¡£
http://hi.baidu.com/fandywang_jlu/blog/item/7c8e98cc0db2081601e928a1.html
Ïà¹ØÎĵµ£º
ºê¶¨ÒåÁËÒ»¸ö´ú±íÌØ¶¨ÄÚÈݵıêʶ·û¡£Ô¤´¦Àí¹ý³Ì»á°ÑÔ´´úÂëÖгöÏֵĺê±êʶ·ûÌæ»»³Éºê¶¨ÒåʱµÄÖµ¡£ºê
×î³£¼ûµÄÓ÷¨ÊǶ¨Òå´ú±íij¸öÖµµÄÈ«¾Ö·ûºÅ¡£ºêµÄµÚ¶þÖÖÓ÷¨ÊǶ¨Òå´ø²ÎÊýµÄºê£¬ÕâÑùµÄºê¿ÉÒÔÏóº¯ÊýÒ»Ñù
±»µ÷Ó㬵«ËüÊÇÔÚµ÷ÓÃÓï¾ä´¦Õ¹¿ªºê£¬²¢Óõ÷ÓÃʱµÄʵ¼Ê²ÎÊýÀ´´úÌæ¶¨ÒåÖеÄÐÎʽ²ÎÊý¡£
1.#defineÖ¸Áî
#defineÔ¤´¦Àí ......
2.1 ¿É²âÐÔÎÊÌâÏê½â(2)
½ÓÏÂÀ´ÎÒÃÇÌÖÂÛÖØµãÎÊÌ⣺¸²¸ÇÊäÈë¡£Ò»¸öº¯Êý£¬ÊäÈë»áÓÐÄÄÐ©ÄØ£¿ÊäÈë°üÀ¨Á½·½Ã棺ÍⲿÊäÈ룬ÄÚ²¿ÊäÈë¡£ÍⲿÊäÈëÈÝÒ×Àí½â£¬¾ÍÊǺ¯ÊýÍⲿ¿ÉÒÔÉ趨µÄÊäÈ룬°üÀ¨²ÎÊý£¬È«¾Ö±äÁ¿£¬³ÉÔ±±äÁ¿¡£
&nb ......
C/C++: Ê®Áù½øÖÆ×ª10½øÖÆÔ´Âë
ÊÕ²Ø
view plain
copy to clipboard
print
?
int
hex_char_value(
char
c)
{
if
(c >=
'0'
&& ......
ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػ ......
C/C++ optimizing compilers are great--but there *are* a few techniques for hand-tuning your code to run as efficiently as possible on the AMD Athlon64 and Opteron processors, especially when developing DLLs, device drivers, or other performance-bound pieces of code.
Alan Zeichick
Share | ......