我聽到術語算法經常使用,並且被我在本網站上看到的上下文所迷惑,有時候我想我會試着澄清我的理解。算法和腳本定義
要我的算法是一些數學的過程中,如本
uint UPDC16(unsigned char a, uint crc)
{
uint b,p;
a^=crc; crc=(crc>>8)|(a<<8); p=a^(a>>4); p^=(p>>2); b=a; a>>=1;
if((p^(p>>1))&1) { crc^=0x0001; a|=0x80; }
if(b & 1) crc^=0x0040; b=a; a^=(crc>>8);
if(a & 1) crc^=0x0080; a>>=1;
if(b & 0x80) a|=0x80;
crc = (crc&0x00ff)|(a<<8);
return crc;
}
在哪裏,因爲我認爲,因爲這通過巢老人進行的動作(旋轉圖像)如果statments,而不是一個工科數學函數它不是一個算法,但是一個函數。
for (int block_x = 0; block_x < 2048; block_x+=8)
{
for (int block_y = 0; blocky_y < 2048; block_y+=8)
{
// this is the inner-loop that processes a block
// of 8x8 pixels.
for (int x= 0; x<8; x++)
for (int y=0; y<8; y++)
dest[x+block_x][y+block_y] = src[y+block_y][x+block_x]
}
}
我已經使用了它,但我正在尋找一個有經驗的編碼解釋。任何人都可以幫我解釋算法嗎?
另一件令我困擾的事情是我看過「腳本」這個詞幾次,而且不明白。我聽說有像lua這樣的腳本語言(可能是錯誤的)。
他們的意思是使用這些語言還是一種「腳本」編碼的特殊方法?
我主要使用c/C++,如果這有什麼不同。
您提供的示例是算法的*實現*。算法最好用文字描述,也許是僞代碼。腳本是用腳本語言編寫的程序。 C和C++都不能被描述爲'腳本語言'。 – pavium 2011-05-13 10:48:31