• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場 > 面試題 > 嵌入式軟件工程師面試題:位操作

    嵌入式軟件工程師面試題:位操作

    時間: 敏敏644 分享

    嵌入式軟件工程師面試題:位操作

      位操作(Bit manipulation)

      1、 嵌入式系統(tǒng)總是要用戶對變量或寄存器進行位操作。給定一個整型變量a,寫兩段代碼,第一個設(shè)置a的bit 3,第二個清除a 的bit 3。在以上兩個操作中,要保持其它位不變。

      對這個問題有三種基本的反應(yīng)

      1). 不知道如何下手。該被面者從沒做過任何嵌入式系統(tǒng)的工作。

      2). 用bit fields。Bit fields是被扔到C語言死角的東西,它保證你的代碼在不同編譯器之間是不可移植的,同時也保證了的你的代碼是不可重用的。我最近不幸看到Infineon為其較復(fù)雜的通信芯片寫的驅(qū)動程序,它用到了bit fields因此完全對我無用,因為我的編譯器用其它的方式來實現(xiàn)bit fields的。從道德講:永遠不要讓一個非嵌入式的家伙粘實際硬件的邊。

      3). 用 #defines 和 bit masks 操作。這是一個有極高可移植性的方法,是應(yīng)該被用到的方法。最佳的解決方案如下:

      #define BIT3 (0x1<<3)

      static int a;

      void set_bit3(void)

      {

      a |= BIT3;

      }

      void clear_bit3(void)

      {

      a &= ~BIT3;

      }

      一些人喜歡為設(shè)置和清除值而定義一個掩碼同時定義一些說明常數(shù),這也是可以接受的。我希望看到幾個要點:說明常數(shù)、|=和&=~操作。

      訪問固定的內(nèi)存位置(Accessing fixed memory locations) C/C++ Development

      2、嵌入式系統(tǒng)經(jīng)常具有要求程序員去訪問某特定的內(nèi)存位置的特點。在某工程中,要求設(shè)置一絕對地址為0x67a9的整型變量的值為0xaa66。編譯器是一個純粹的ANSI編譯器。寫代碼去完成這一任務(wù)。

      這一問題測試你是否知道為了訪問一絕對地址把一個整型數(shù)強制轉(zhuǎn)換(typecast)為一指針是合法的。這一問題的實現(xiàn)方式隨著個人風(fēng)格不同而不同。典型的類似代碼如下:

      int *ptr;

      ptr = (int *)0x67a9;

      *ptr = 0xaa55;

      一個較晦澀的方法是:

      *(int * const)(0x67a9) = 0xaa55;

      即使你的品味更接近第二種方案,但我建議你在面試時使用第一種方案。

    203997 主站蜘蛛池模板: 亚洲一区无码中文字幕| 毛片大全在线观看| 久久精品成人一区二区三区| 国产欧美精品一区二区色综合| 欧美婷婷六月丁香综合色| 亚洲综合色区中文字幕| 亚洲av无码成人网站在线观看| 国产成人精品免费视频动漫| 日本最新免费二区三区| 色费女人18毛片a级毛片视频| 久久er这里只有精品| 八区精品色欲人妻综合网| 国产麻豆欧美亚洲综合久久| 欧美性狂猛xxxxxbbbbb| 男人影院天堂网址| 91av视频免费在线观看| 亚洲AV高清在线观看一区二区| 亚洲视频中文字幕在线| 国产精品免费_区二区三区观看| 日韩欧美久久一区二区| 老司机午夜免费视频| 国产v片成人影院在线观看| 中文字幕久精品免费视频| 亚洲黄色免费看| 佐藤遥希在线播放一二区| 国产精品无码专区在线播放| 在线视频中文字幕| 日韩一卡二卡三卡| 污污动漫在线看| 韩国免费A级作爱片无码| 黑人太粗太深了太硬受不了了| 中文字幕乱伦视频| 中文全彩漫画爆乳| 亚洲AV无码专区在线亚| 亚洲va在线va天堂va不卡下载| 又黄又爽的视频免费看| 国产精品无码免费视频二三区| 国产精品白浆无码流出| 妺妺窝人体色WWW在线观看| 杨幂下面好紧好湿好爽| 深夜影院一级毛片|