ÔÚcÖд¦Àíutf
UTF-8×î´óµÄÒ»¸öÌØµã£¬¾ÍÊÇËüÊÇÒ»Öֱ䳤µÄ±àÂ뷽ʽ¡£Ëü¿ÉÒÔʹÓÃ1~4¸ö×Ö½Ú±íʾһ¸ö·ûºÅ£¬¸ù¾Ý²»Í¬µÄ·ûºÅ¶ø±ä»¯×Ö½Ú³¤¶È¡£
UTF-8µÄ±àÂë¹æÔòºÜ¼òµ¥£¬Ö»ÓжþÌõ£º
1£©¶ÔÓÚµ¥×ֽڵķûºÅ£¬×ֽڵĵÚһλÉèΪ0£¬ºóÃæ7λΪÕâ¸ö·ûºÅµÄunicodeÂë¡£Òò´Ë¶ÔÓÚÓ¢Óï×Öĸ£¬UTF-8±àÂëºÍASCIIÂëÊÇÏàͬµÄ¡£
2£©¶ÔÓÚn×ֽڵķûºÅ£¨n>1£©£¬µÚÒ»¸ö×Ö½ÚµÄǰnλ¶¼ÉèΪ1£¬µÚn+1λÉèΪ0£¬ºóÃæ×Ö½ÚµÄǰÁ½Î»Ò»ÂÉÉèΪ10¡£Ê£ÏµÄûÓÐÌá¼°µÄ¶þ½øÖÆÎ»£¬È«²¿ÎªÕâ¸ö·ûºÅµÄunicodeÂë¡£
¿´´úÂë
size_t utf_length(u_char *p, size_t n) // u_char*p Ö¸ÏòÒ»¸ö¿ÉÄܰüº¬utf-8µÄ×Ö·û´®£¬n = strlen(p)
{
u_char c;
size_t len;
u_int32_t i;
for (len = 0, i = 0; i < n; len++, i++) {
c = p[i];
if (c < 0x80) { // 0x80 µÄ2½øÖƶȣ¨10000000£©£¬µ¥×Ö½ÚµÄʱºò£¬×î´óµÄ±àÂëÊÇ£¨01111111£©£¬ Ò²¾ÍÊÇ127£¬Ò²¾ÍÊÇascii
continue;
}
if (c >= 0xc0) { //¸ù¾Ýutf-8µÄµÚ2Ìõ¹æÔò£¬ Èç¹ûÊÇ2¸ö×Ö½Ú±àÂë³ÉÒ»¸ö·ûºÅµÄʱºò£¬ÄÇôӦ¸ÃÊÇ£¨110*****£¬10******£©
/*Èç¹ûÊÇ3¸ö×Ö½Ú±àÂë³ÉÒ»¸ö·ûºÅ£¬ ÄÇôӦ¸ÃÊÇ£¨1110****£¬10******£¬10******£©
Èç¹ûÊÇ4¸ö×Ö½Ú±àÂë³ÉÒ»¸ö·ûºÅ£¬ ÄÇôӦ¸ÃÊÇ£¨11110***£¬10******£¬ 10******£¬10******£©
for (c <<= 1; c & 0x80; c <<= 1) { /*forµÄÓ÷¨£¬µÚÒ»¸ö´ú±í¸³³õʼֵ£¬ µÚ2¸öÅжϣ¬ µÚ3¸ö¸³Öµ£¬ µÚ2´ÎÑ»·µÄʱºò£¬µÚÒ»¸öc<<1 ÒѾ²»ÓÃÁË */
i++; //Ìø¹ý
Ïà¹ØÎĵµ£º
CµÄº¯ÊýÖ¸ÕëºÜÇ¿´ó£¬ÓúÃÁ˲ÅÊÇCÓïÑԵĸßÊÖ¡£ÏñGtkÖеĻص÷º¯ÊýµÄʹÓ㬶¼ÌåÏÖÁ˺¯ÊýÖ¸ÕëµÄÇ¿´óÍþÁ¦¡£
struct Point{
int x, y;
};
/*Shape*/
/*----------------------------------------------------------------*/
struct Shape {
struct Methods* methods;
};
struct Meth ......
µÚÒ»Õ¸ÅÀÀ
CÊÇÒ»ÖÖ±àÒëÐ͵ÄÓïÑÔ
±àÒëÐÍ£º¾ÍÊǰÑcÓïÑÔ±àÒë³É¼ÆËã»úÄÜÔËÐеĻúÆ÷´úÂë
²»Í¬µÄ¼ÆËã»úϵͳÓÐן÷×ԵıàÒëÆ÷£¬À´°Ñc±àÒë³É¶ÔÓ¦µÄ»úÆ÷´úÂë
ÌØÐÔ£º´úÂë¸ßЧ£¬¿ÉÒÆÖ²£¬¹¦ÄÜÇ¿´óºÍÁé»î
ȱµã£º´úÂë¸ñʽ×ÔÓÉ£¨ÌرðÊÇÖ¸ÕëµÄʹÓã©
CÓïÑÔÔËÐÐµÄÆß¸ö²½Ö裺
1. ¶¨Ò ......
¶¨Ò壺Éèa¶ÔbµÄ³Ë·¨ÄæÔªÊÇxÔò¿ÉÒÔ¼ÇΪa*x=1 mod b£¬¼´aºÍxµÄ»ý³ýÒÔbµÄÓàÊýÊÇ1£»
³Ë·¨ÄæÔª³£ÓÃËã·¨ÊÇÅ·¼¸ÀïµÂËã·¨£º
//Ëã·¨Çód¹ØÓÚÄ£fµÄ³Ë·¨ÄæÔªd-1 £¬¼´ d* d-1 mod f = 1
¡¡¡¡1 ¡£(X1£¬X2£¬X3) := (1£¬0£¬f)£» (Y1£¬Y2£¬Y3) := (0£¬1£¬d)
¡¡¡¡2¡£ if (Y3=0) then return d-1 = null //ÎÞÄæÔª
......