新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 淺談C語言的一個算法

        淺談C語言的一個算法

        作者: 時間:2012-08-29 來源:網絡 收藏
        周六與周日花費了兩天的時間得出一個轉復雜較為簡單的,其實都是學校里學過的,但由于沒有應用于實際當中。

        下面具體的來說說這個吧。

        舉個例子,比如有這么一個一維數組,共有96個元素,我想分成32列,3行,又想分成16列6行,而且想要分別從行與列的頭開始取表元素,例tab[]={0x08,0xa0,.......,0xff};(可能你會想到分成多維數組,然后采用兩個for循環,如for(int i=0;i3;i++)

            {

            for(int j=0;j32;j++)

              tab[i][j];  

            }

        但還是不夠靈活)

        怎么樣靈活的改變呢?總不可能列兩個數據表吧?我苦思瞑想了兩天,找了老書。最終用了個移位的辦法。先是從它的數組表里取其元素量,再做移位與加減運算,

        我做了個測試,其結果相當的好。見圖

        點擊瀏覽下一頁

        這樣可以取表的大小,改變a,b,4,5,的值。來得到想要的結果。這個可以獨立成一個小的子程序。這個編譯出來的文件也相當的小,適用于元素表較大的選取。有時候語句短并不是什么優勢(在單片機當中)適合機器讀的語句才是好語然,2+2與2*2誰優誰劣?機器曉得,相信,你懂的。。。。。。如果能省去循環語句占用MCU系統資源。呵呵,何樂而不為?

        c語言相關文章:c語言教程




        關鍵詞: C語言 算法

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 博客| 洮南市| 濉溪县| 石嘴山市| 托里县| 抚远县| 大关县| 闽清县| 洪雅县| 广南县| 西充县| 千阳县| 敦煌市| 家居| 阳江市| 安龙县| 云阳县| 弥勒县| 渭南市| 普定县| 阿荣旗| 建水县| 昌邑市| 健康| 大余县| 磴口县| 绵阳市| 长岭县| 文昌市| 宁晋县| 泌阳县| 丰镇市| 巨野县| 志丹县| 阿拉善右旗| 麻栗坡县| 景宁| 凤城市| 海安县| 庆安县| 珲春市|