在說明此文時,必須特別強調一件事,如果現在初學者的你還在思考:要怎麼學Visual C++”要選Visual C++還是Borland C++”作業要用 Visual C++ 還是要用 Dev-C++ 寫比較好?,那我只能跟你說:誰沒菜過?但你一定要看完以下的說明。

 

edisonx 發表在 痞客邦 留言(0) 人氣()

吾人認為基本常用指令有項,這些事實上下 「指令 /?」 去查都可以找到更多資料,如 dir /?,便可查到 dir 所有相關資訊!

1. 查詢目錄 (dir)

edisonx 發表在 痞客邦 留言(2) 人氣()

C/C++ 標準之 main 寫法有二種,一種是不接受任何參數列;另一種是接受二個參數列。程式碼大致如下

int main(int argc, char **argv)
{
    return 0;
}

int main(void)
{
    return 0;
}

 

edisonx 發表在 痞客邦 留言(0) 人氣()

吾人本身一陣最常用到的二個運算: Sqrt, 1/Sqrt,於是會找些奇淫怪技想辦法加速。

事實上在做 Sqrt 加速時,實測之結果效能都沒 VC 開 O2 來得快,即使只求整數之 sqrt 之演算法效果也沒很好,所幸在 codeproject 看到有人已實測,該程式碼共寫了 14 份 sqrt,有興趣可去下載下來看看,其中 asm 崁入的有 2 份,測出來結果都比內建的還快,且精度也完全正確。以下為該作者提供之 2 份 sqrt,實測出來約比內建 sqrt 快上 20% 左右 (11390 : 8922),其它的 12 種方法若有興趣,也可再進行實測。

edisonx 發表在 痞客邦 留言(0) 人氣()

這是個讓 CS 領域驚豔的計算方式,同時裡面使用的 magic number -  0x5f3759df 拿去 google 可得到一狗票的東西,本文並不進行 magic number 之推導,整個推導最詳盡的,應是 這篇pdf 。一開始的原始碼長得像這樣 (轉自 wiki)

float Q_rsqrt( float number )
{
        long i;
        float x2, y;
        const float threehalfs = 1.5F;
 
        x2 = number * 0.5F;
        y  = number;
        i  = * ( long * ) &y;                       // evil floating point bit level hacking [sic]
        i  = 0x5f3759df - ( i >> 1 );               // what the fuck? [sic]
        y  = * ( float * ) &i;
        y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
//    y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed
 
        return y;
}

 

edisonx 發表在 痞客邦 留言(0) 人氣()

[Lemma 說明]

會寫 recursive 通常讓初學者覺得「很強、思緒很清晰」,就吾人所知會「避開用 recursive 」有以下二個原因

edisonx 發表在 痞客邦 留言(1) 人氣()

關於 讓 CPU 使用率曲線聽你指揮 之相關文章中,已對原作之解法提出分析與實做,接下來繼續討論相關之議題。原作提出之議題吾人大致分成以下四部份:

1. 取得 CPU 核心週期數

edisonx 發表在 痞客邦 留言(0) 人氣()

題目說明

寫一程式,讓使用者決定 windows 工作管理員之 cpu 使用率。程式越精簡越好,電腦語言不限。如,可實現下列三種情況:

edisonx 發表在 痞客邦 留言(0) 人氣()

自定函式效能測試為常用之一環,吾人日前同一個函式 (log2) 進行了大量之測試 (有15個副函式要測試),由於之前都「亂寫」,故在維護、新增、移除掉副函式時都不方便,於此提供一些基本之技巧與心得。

1. 測試前註明環境規格

edisonx 發表在 痞客邦 留言(0) 人氣()

一開始也沒想到這個問題,但之後認真研究排列組合中的子集合時,卻發現有必要使用到 log2 此函式。在 cmath (math.h) 裡面,提供 log 與 log10 函式,其中 log 即為 ln;但log2 函式卻視 compiler 決定是否支援,吾人手邊之 MSCV 不論哪個版本均無 log2 這個東西,故特撰此文。下述將先探討一些問題,再進行解法與說明。

本文所探討之 log2,以求得整數為主,求得小數之浮點數,日後再予以探討,文中提供五種方法以說明。

edisonx 發表在 痞客邦 留言(0) 人氣()

"怎麼學c語言、怎麼挑書、要挑什麼書",這個問題聽過蠻多遍了,提供自己學習 C/C++ 的歷程讓各位參考。以下的說明都是以個人主觀的立場,當然我不是什麼大師,這些都參考就好。由於當初筆者接觸時,就是 C ,若想學其它像是 VB, JAVA, C# 等程式語言,這篇文章仍可給予一些幫助與參考。

1. 請先進修基礎知識

edisonx 發表在 痞客邦 留言(40) 人氣()

撲克牌遊戲設計類的程式設計是對初學者非常好的程式練習,若架構沒設計好程式碼寫起來的確會很麻煩,但設計好的話真的沒有什麼大問題。

不當之架構

edisonx 發表在 痞客邦 留言(8) 人氣()

這問題實在看了很多人問,但大多是視窗程式還沒學過,只學到 Console 下之程式設計便問要怎麼畫波形圖。在 Console 下畫不是不能畫,可以說是「不習慣」,也可以說是「不好畫」。

這問題我用四種不同方法解過 -

edisonx 發表在 痞客邦 留言(1) 人氣()

前言

這系列文章主要是在研究如何增進檔案寫入之速度,若寫檔之次數、大小均沒一定數量時,這系列文章並不會引起興趣,可跳過。但通常讀取次數增多時 (通常 > 50 MB),便會感覺用 fscanf 速度不夠快,於是有要加速之需求,此系列文章便是在探討是否有其它方法使讀寫檔案方式能增快。

edisonx 發表在 痞客邦 留言(0) 人氣()

前言

這系列文章主要是在研究如何增進檔案寫入之速度,若寫檔之次數、大小均沒一定數量時,這系列文章並不會引起興趣,可跳過。但通常寫入次數增多時 (通常 > 50 MB),便會感覺用 fprintf 速度不夠快,於是有要加速之需求,此系列文章便是在探討是否有其它方法使讀寫檔案方式能增快。

edisonx 發表在 痞客邦 留言(5) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼