C/C++µÄ64λÕûÐÍ ²»Í¬±àÒëÆ÷¼äµÄ±È½Ï
//ΪÁ˺ÍDSP¼æÈÝ£¬TSint64ºÍTUint64ÉèÖóÉTSint40ºÍTUint40Ò»ÑùµÄÊý
//½á¹ûVCÖл¹ÊÇÈÏΪÊÇ32λµÄ£¬ÏÔÈ»²»ºÏÊÊ
//typedef signed long int TSint64;
//typedef unsigned long int TUint64;
//ANSI CÖй涨long long²ÅÄܱíʾ64λ
//²Î¼û£ºhttp://msdn.microsoft.com/en-us/library/s3f49ktz.aspx
//¿ÉϧVC++ 6.0 ²»ÈÏʶ long long,»á±¨error C2632: 'long' followed by 'long' is illegal
typedef signed long long TSint64;//It's illegal in C90. It's legel in C99.
typedef unsigned long long TUint64;
//typedef LONGLONG TSint64;//VC²»ÈÏ
//typedef ULONGLONG TUint64;
zz from http://www.byvoid.com/blog/c-int64/
ÔÚC/C++ÖУ¬64ΪÕûÐÍÒ»Ö±ÊÇÒ»ÖÖûÓÐÈ·¶¨¹æ·¶µÄÊý¾ÝÀàÐÍ¡£ÏÖ½ñÖ÷Á÷µÄ±àÒëÆ÷ÖУ¬¶Ô64ΪÕûÐ͵ÄÖ§³ÖÒ²ÊDZê×¼²»Ò»£¬ÐÎ̬¸÷Òì¡£Ò»°ãÀ´Ëµ£¬64λÕûÐ͵͍Ò巽ʽÓÐlong longºÍ__int64Á½ÖÖ(VC»¹Ö§³Ö_int64)£¬¶øÊä³öµ½±ê×¼Êä³ö·½Ê½ÓÐprintf(“%lld”,a)£¬printf(“%I64d”,a)£¬ºÍcout << aÈýÖÖ·½Ê½¡£
±¾ÎÄÌÖÂÛµÄÊÇÎåÖÖ³£ÓõÄC/C++±àÒëÆ÷¶Ô64λÕûÐ͵ÄÖ§³Ö£¬ÕâÎåÖÖ±àÒëÆ÷·Ö±ðÊÇgcc(mingw32)£¬g++(mingw32)£¬gcc(linux i386)£¬g++(linux i386)£¬Microsoft Visual C++ 6.0¡£¿ÉϧµÄÊÇ£¬Ã»ÓÐÒ»ÖÖ¶¨ÒåºÍÊä³ö·½Ê½×éºÏ£¬Í¬Ê±¼æÈÝÕâÎåÖÖ±àÒëÆ÷¡£Îª³¹µ×ŪÇ岻ͬ±àÒëÆ÷¶Ô64λÕûÐÍ£¬ÎÒдÁ˳ÌÐò¶ÔËüÃǽøÐÐÁËÆÀ²â£¬½á¹ûÈçÏÂ±í¡£
±äÁ¿¶¨ÒåÊä³ö·½Ê½gcc(mingw32)g++(mingw32)gcc(linux i386)g++(linux i386)MicrosoftVisual C++ 6.0
long long
“%lld”
´íÎó
´íÎó
ÕýÈ·
ÕýÈ·
ÎÞ·¨±àÒë
long long
“%I64d”
ÕýÈ·
ÕýÈ·
´íÎó
´íÎó
ÎÞ·¨±àÒë
__int64
“lld”
´íÎó
´íÎó
ÎÞ·¨±àÒë
ÎÞ·¨±àÒë
´íÎó
__int64
“%I64d”
ÕýÈ·
ÕýÈ·
ÎÞ·¨±à
Ïà¹ØÎĵµ£º
¸ñʽÊä³ö:
printf(¸ñʽ¿ØÖÆ, Êä³ö±íÁÐ);
%d Ê®½øÖÆÊý %md mΪָ¶¨µÄ¿í¶È ÈôÊý¾ÝλÊýСÓÚm,Ôò×ó¶Ë²¹ÒÔ¿Õ¸ñ;Èô´óÓÚm,Ôò°´Êµ¼ÊλÊýÊä³ö
%ld ³¤ÕûÐÍÊý¾Ý %mld Ö¸¶¨×ֶοí¶È
%o °Ë½øÖÆÕûÊýÐÎʽ %mo
%x Ê®Áù½øÖÆÕûÊýÐÎʽ %mx
%u unsignedÐÍÊý¾Ý,ËüÒ²¿ÉÓÃ%o»ò%x¸ñʽÊä³ö
%c Ò»¸ö×Ö·û ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
......
µÚ4Õ ÔõÑù²ÅÄܱ£Ö¤²âÊÔЧ¹û£¿
4.1 ºâÁ¿²âÊÔЧ¹ûµÄ»ù±¾Ö¸±ê£º°×ºÐ¸²¸Ç
ºâÁ¿²âÊÔЧ¹ûµÄ»ù±¾Ö¸±êÊǰ׺и²¸ÇÂÊ£¬¼´Í³¼Æ²âÊÔ¶Ô´úÂëÂß¼µ¥Î»µÄ¸²¸Ç×´¿ö¡£´úÂëµÄÂß¼µ¥Î»Ö÷ÒªÓУºÓï¾ä(¿é)£¬Ìõ¼þ¡¢Åж¨¡¢·ÖÖ§¡¢Â·¾¶¡£³£Óõİ׺и²¸ÇÓÐÁùÖÖ£ºÓï¾ä¸²¸Ç¡¢Ìõ¼þ¸²¸Ç¡¢·ÖÖ§¸²¸Ç¡¢Åж¨Ìõ¼þ¸²¸Ç¡¢ÐÞÕýÅж¨Ìõ¼þ¸²¸Ç¡¢º ......
ÕâÊÇÎÒдµÄµÚÒ»¸ö²©¿ÍÈÕÖ¾£¬ÔÚ´ËÊ×ÏȲâÊÔһϱ¾¸ö²©¿ÍϵͳµÄ¹¦ÄÜÇé¿ö£¬Èç·ÖÀ๦ÄÜ£¬ÔĶÁµÄ¼òÒ×ÐÔ£¬´úÂëÏÔʾµÄ·½Ê½µÈ¡£
so:Ìí¼ÓµÚÒ»¸ö´úÂë³ÌÐò£¬ÈçÏ£º
private void Form1_Load(object sender, EventArgs e)
{//ʹlistView¿Ø¼þÖ§³Ö±à¼¹¦ÄÜ
System.Windows ......
// SnakeMatrix.cpp : Defines the entry point for the console application.
// Create by Xianyi.Ye, May 4,2010
#include "stdafx.h"
#include <iostream.h>
/*
Question: Print a Sanke Matrix as following
i\j 1 2 3 4 5 6
1 1 2 9 10 25 26
2 4 3 8 11 24 27
3 5 6 7 12 23 28
4 16 15 14 ......