@江南煙雨
若n為偶數(shù),則總的比較次數(shù) = 1 + 1.5 * (n - 2) = 1.5n - 2;
若n為奇數(shù),則總的比較次數(shù) = 1 + 1.5 * (n - 3) + 1 = 1.5n - 2.5或總的比較次數(shù) = 1 + 1.5 * (n - 3) + 2 = 1.5n - 1.5
結(jié)合第二段代碼,應(yīng)該很容易分析出來吧?每個主循環(huán)內(nèi)的比較次數(shù)是3次,主循環(huán)的循環(huán)次數(shù)為(n - 2) / 2次或者為(n - 3) / 2次。
re: CosmosKernel初探 myjfm 2011-06-10 19:31
@lwch
時鐘中斷肯定打開了吧?要不進程應(yīng)該沒辦法調(diào)度
就是想知道保護模式如何進去的
繼續(xù)加油阿~我們會持續(xù)關(guān)注的哦~
re: CosmosKernel初探 myjfm 2011-06-10 19:17
@lwch
那時鐘終端默認是打開的?
另外保護模式是怎么進去的阿?
我還是不太明白咋用c#繞過保護模式那些東西的?
re: CosmosKernel初探 myjfm 2011-06-10 18:45
這個………………
中斷向量表之類的?
表示沒有看懂……
re: C語言 控制臺下 俄羅斯方塊(附源碼) myjfm 2011-05-27 00:30
bug太太太多了,再修改修改吧~
re: 取反操作的細節(jié)問題 myjfm 2011-04-08 14:43
@zuhd
補碼本身就是個約定
re: 取反操作的細節(jié)問題 myjfm 2011-04-08 11:38
@zuhd
既然高位已經(jīng)被截取了那還怎么說“不是不能存儲”呢?
求補碼的過程本來就要把最高位符號位也用于計算
最高位符號位除了表示這個數(shù)是正是負外還有數(shù)值上的意義,它的作用不單單是符號位
所以你看-128的時候不能把最高位去掉再去看剩余7bit,要8個bit一起看~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
re: 取反操作的細節(jié)問題 myjfm 2011-04-08 10:00
@zuhd
對于有符號數(shù)來說:
如果是原碼:00000000b是+0,10000000b是-0
如果是反碼:00000000b是+0,11111111b是-0
而對于補碼:00000000b是+0也是-0
下面是二進制代碼與補碼的對應(yīng):
00000000 +0/-0
00000001 +1
...
01111111 +127
10000000 -128
10000001 -127
...
11111110 -2
11111111 -1
從計組書上copy下來的~
re: 取反操作的細節(jié)問題 myjfm 2011-04-07 22:04
@zuhd
對于八位有符號數(shù),能表示的數(shù)的范圍不就是-128~127嗎?-128不是0x80嗎?
10000000B作為有符號數(shù)的補碼來說怎么會是0的補碼呢?好好看看計算機組成原理吧~
re: 取反操作的細節(jié)問題 myjfm 2011-04-07 21:57
@zuhd
不知道你說的這段話和我文章最后一段有什么區(qū)別阿?
re: 取反操作的細節(jié)問題 myjfm 2011-04-07 13:13
@zuhd
對于32位整型,0xffffff80是-128的補碼吧?
而對于8位整型,0x80也是-128的補碼吧?
另外,所以算數(shù)運算都是在寄存器中進行的吧?而現(xiàn)在32位機的寄存器都是32位的,所以才會存在整型提升問題,我是這么理解的~
re: 取反操作的細節(jié)問題[未登錄] myjfm 2011-04-07 09:30
@笨笨
反匯編確實可以了解到細節(jié)~
@lwch
你這個是修改的linux源碼嗎?看代碼風(fēng)格不像阿,是Orange'S吧?