Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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++ÓëJava»ù±¾Êý¾ÝÀàÐͱȽÏ

 
C++ÓëJava»ù±¾Êý¾ÝÀàÐͼ°ËùÕ¼ÓÃÄÚ´æ¿Õ¼ä±È½Ï
----------------C++
-----------                              ------------Java
----------
(01)bool-------- ......

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)
{
  ......

²âÊÔ¶ÔCµÄÕÆÎճ̶È

 
ÏÂÃæÕâ¸ö³ÌÐòÊä³öʲô£¿
enum {false,true};
int main()
{
int i=1;
do
{
printf("%d\n",i);
i++;
if(i < 15)
continue;
}while(false);
return 0;
}
ÄãÏàÐÅô£¿ÏÂà ......

CÖкê#ºÍ##µÄÔËÓÃ

 #include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define f(a,b) a##b
#define g(a)  #a
#define h(a) g(a)
int main()   
{   
    char a = 'a';      
    ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ