Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

´ÓÁ½µÀ¾­µäÊÔÌâ̸C/C++ÖÐÁªºÏÌ壨union£©µÄʹÓÃ


´ÓÁ½µÀ¾­µäÊÔÌâ̸C/C++ÖÐÁªºÏÌ壨union£©µÄʹÓÃ
ÊÔÌâÒ»£º±àдһ¶Î³ÌÐòÅжÏϵͳÖеÄCPUÊÇLittle endian»¹ÊÇBig endianģʽ£¿
·ÖÎö£º
×÷Ϊһ¸ö¼ÆËã»úÏà¹Ø×¨ÒµµÄÈË£¬ÎÒÃÇÓ¦¸ÃÔÚ¼ÆËã»ú×é³ÉÖж¼Ñ§Ï°¹ýʲô½ÐLittle endianºÍBig endian¡£Little endianºÍBig endianÊÇCPU´æ·ÅÊý¾ÝµÄÁ½ÖÖ²»Í¬Ë³Ðò¡£¶ÔÓÚÕûÐÍ¡¢³¤ÕûÐ͵ÈÊý¾ÝÀàÐÍ£¬Big endianÈÏΪµÚÒ»¸ö×Ö½ÚÊÇ×î¸ßλ×Ö½Ú£¨°´Õմӵ͵ØÖ·µ½¸ßµØÖ·µÄ˳Ðò´æ·ÅÊý¾ÝµÄ¸ßλ×Ö½Úµ½µÍλ×Ö½Ú£©£»¶øLittle endianÔòÏà·´£¬ËüÈÏΪµÚÒ»¸ö×Ö½ÚÊÇ×îµÍλ×Ö½Ú£¨°´Õմӵ͵ØÖ·µ½¸ßµØÖ·µÄ˳Ðò´æ·ÅÊý¾ÝµÄµÍλ×Ö½Úµ½¸ßλ×Ö½Ú£©¡£
ÀýÈ磬¼ÙÉè´ÓÄÚ´æµØÖ·0x0000¿ªÊ¼ÓÐÒÔÏÂÊý¾Ý£º
0x0000
0x0001
0x0002
0x0003
0x12
0x34
0xab
0xcd
Èç¹ûÎÒÃÇÈ¥¶Áȡһ¸öµØÖ·Îª0x0000µÄËĸö×Ö½Ú±äÁ¿£¬Èô×Ö½ÚÐòΪbig-endian£¬Ôò¶Á³ö½á¹ûΪ0x1234abcd£»Èô×Ö½ÚÐòλlittle-endian£¬Ôò¶Á³ö½á¹ûΪ0xcdab3412¡£Èç¹ûÎÒÃǽ«0x1234abcdдÈëµ½ÒÔ0x0000¿ªÊ¼µÄÄÚ´æÖУ¬ÔòLittle endianºÍBig endianģʽµÄ´æ·Å½á¹ûÈçÏ£º
µØÖ·
0x0000
0x0001
0x0002
0x0003
big-endian
0x12
0x34
0xab
0xcd
little-endian
0xcd
0xab
0x34
0x12
Ò»°ãÀ´Ëµ£¬x86ϵÁÐCPU¶¼ÊÇlittle-endianµÄ×Ö½ÚÐò£¬PowerPCͨ³£ÊÇBig endian£¬»¹ÓеÄCPUÄÜͨ¹ýÌøÏßÀ´ÉèÖÃCPU¹¤×÷ÓÚLittle endian»¹ÊÇBig endianģʽ¡£
½â´ð£º
ÏÔÈ»£¬½â´ðÕâ¸öÎÊÌâµÄ·½·¨Ö»ÄÜÊǽ«Ò»¸ö×Ö½Ú£¨CHAR/BYTEÀàÐÍ£©µÄÊý¾ÝºÍÒ»¸öÕûÐÍÊý¾Ý´æ·ÅÓÚͬÑùµÄÄڴ濪ʼµØÖ·£¬Í¨¹ý¶ÁÈ¡ÕûÐÍÊý¾Ý£¬·ÖÎöCHAR/BYTEÊý¾ÝÔÚÕûÐÍÊý¾ÝµÄ¸ßλ»¹ÊǵÍλÀ´ÅжÏCPU¹¤×÷ÓÚLittle endian»¹ÊÇBig endianģʽ¡£µÃ³öÈçϵĴ𰸣º
typedef unsigned char BYTE;
int main(int argc, char* argv[])
{
        unsigned int num,*p;
     p = #
        num = 0;
     *(BYTE *)p = 0xff;
       
        if(num == 0xff)
        {
               printf("The endian of cpu is little\n");
        }
        else   &nbs


Ïà¹ØÎĵµ£º

¹ØÓÚCµÄÓÐȤÎÊÌâ

//ÒÔϳÌÐòÊÇʵÏÖСдת´óд³ÌÐò
#include<stdio.h>
void to_upper(char *str)
{
    for(;*str !='\0';str++)
    {
        if(unsigned(*str-'a')<='z'-'a')
            *str-='a'-'A';//Ð ......

[ÊÕ²Ø]C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉî²ã̽Ë÷

¸ù±¾Ô­ÒòÔÚÓë×óÖµºÍÓÒÖµ
char a[10]=“hello”;
sizeof(a);//Êý×éÃû×ö×óÖµ£¬¾ßÓÐÊý×éÃûµÄÊôÐÔ£¬ÊÇÒ»¸öÖ¸ÏòÊý×éÊ×µØÖ·µÄ³£Á¿Ö¸Õë
strcpy(a,"abc");//Êý×éÃû×öÓÒÖµ£¬ÍË»¯ÎªÆÕͨµÄÖ¸Õë
Ô­ÎÄÁ´½Ó£º
 http://hi.baidu.com/%D2%C0%BD%A3%D0%F9/blog/item/7bbf36966c92f36a54fb9663.html
×÷ÕߣºËᦻª e ......

C/C++ ´ò¿ªPDFÎĵµ

 wchar_t wsWorkingDir[256] = _T("");
 CString strPDF(_T(""));
 ::GetCurrentDirectory(256, wsWorkingDir);
 strPDF.Format(_T("%s"), wsWorkingDir);
 if (strPDF.GetAt(strPDF.GetLength()-1) != '\\')
 {
  strPDF += '\\';
 }
 strPDF += "doc\\my.pdf" ......

4*4¼üÅÌɨÃèC³ÌÐò

 4*4¼üÅÌɨÃèC³ÌÐò
#include<reg52.h>
#define uchar unsigned char
 uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,
    0x92,0x82,0xF8,0x80,0x90,
    0x88,0x83,0xC6,0xA1,0x86,0x8E};
uchar temp,num;
void display(uchar);
void delay(uchar a)
{
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ