• <nav id="cwumo"><code id="cwumo"></code></nav>
  • <menu id="cwumo"><strong id="cwumo"></strong></menu>

    處理器是Big-endian的,則返回0;是Little-endian的

    時間:2020-11-23 18:54:22 筆試題目 我要投稿

    處理器是Big-endian的,則返回0;是Little-endian的,則返回1

      int checkCPU()

      {

      {

      union w

      {

      int a;

      char b;

      } c;

      c.a = 1;

      return (c.b == 1);

      }

      }

      剖析:

      嵌入式系統開發者應該對Little-endian和Big-endian模式非常了解。采用Little-endian模式的CPU對操作數的存放方式是從低字節到高字節,而Big-endian模式對操作數的存放方式是從高字節到低字節。例如,16bit寬的數0×1234在Little- endian模式CPU內存中的存放方式(假設從地址0×4000開始存放)為:

      內存地址 存放內容

      0×4000 0×34

      0×4001 0×12

      而在Big-endian模式CPU內存中的存放方式則為:

      內存地址 存放內容

      0×4000 0×12

      0×4001 0×34

      32bit寬的'數0×12345678在Little-endian模式CPU內存中的存放方式(假設從地址0×4000開始存放)為:

      內存地址 存放內容

      0×4000 0×78

      0×4001 0×56

      0×4002 0×34

      0×4003 0×12

      而在Big-endian模式CPU內存中的存放方式則為:

      內存地址 存放內容

      0×4000 0×12

      0×4001 0×34

      0×4002 0×56

      0×4003 0×78

      聯合體union的存放順序是所有成員都從低地址開始存放,面試者的解答利用該特性,輕松地獲得了CPU對內存采用Little-endian還是Big-endian模式讀寫。如果誰能當場給出這個解答,那簡直就是一個天才的程序員。

    【處理器是Big-endian的,則返回0;是Little-endian的,則返回1】相關文章:

    超鏈接PPT怎么返回11-02

    ppt超鏈接返回鍵11-02

    寫一個函數返回1+2+3+…+n的值12-18

    CAD中怎么樣快速返回之前的圖層狀態11-12

    Java調用MySQL存儲過程并獲得返回值的方法11-13

    0到1的求生12-04

    asp.net中將js的返回值賦控件的小例子11-12

    應屆畢業生檔案返回原籍和落戶程序12-18

    由0是自然數引發的思考論文07-16

    日韩激情