五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

#4 編程(Part.4)密碼鎖

2023-08-04 00:02 作者:-郭兩歲  | 我要投稿


這一關(guān)也是屬于那種

可以很簡(jiǎn)單也可以很難的關(guān)

先上標(biāo)準(zhǔn)答案,最簡(jiǎn)單最無(wú)腦

從1開(kāi)始試直到正確答案,暴力窮舉法

總時(shí)鐘刻1029總用時(shí)61740

很炸裂的延遲

密碼鎖(暴力窮舉版)

但是就在關(guān)卡說(shuō)明那里

也已經(jīng)三番四次地在說(shuō)

如果你猜的數(shù)字比他大就會(huì)嗶嗶叫(輸入1,否則0)

所以很顯然這關(guān)他想要的解法是要通過(guò)比較

我第一個(gè)想到的想法是二分法

先輸出128,比較,然后±64,接著比較±32,±16…直到出結(jié)果

最多比較7-8次就可以出結(jié)果,延遲應(yīng)該挺低的


但是我忽略了一個(gè)問(wèn)題

我的代碼寫(xiě)了將近90行

但是這是OVERTURE架構(gòu),立即數(shù)最大是63

也就是指令尋址最大不能超過(guò)63

那我63之后的代碼就無(wú)法被條件跳轉(zhuǎn)到

就很麻煩

(OVERTURE架構(gòu)真的難用,太喜歡LEG架構(gòu)了,速速學(xué)習(xí)?。?/p>


為此我決定寫(xiě)一個(gè)閹割版的二分法

直接上63,126,189,252

都比較一遍,然后找到小區(qū)間再-1-1-1

比如我找到數(shù)字再63-126之間

那我就126,125,124…不斷地往下輸出

我的二分只分兩次,分到63就不分了

這樣子把代碼壓縮到42行就能成功運(yùn)行

最終時(shí)鐘刻壓到了323,總用時(shí)19380

縮短到了窮舉法的1/3,很不錯(cuò)

雖然我覺(jué)得這個(gè)數(shù)字還不是很理想

但是我暫時(shí)沒(méi)有什么好的想法了

我想過(guò)把一開(kāi)始的二分步進(jìn)改成31/32

這樣子分多一次應(yīng)該就可以再少一點(diǎn)

但是在想怎么處理溢出,給我腦袋CPU干燒了

所以就作罷

只能說(shuō)OVERTURE架構(gòu),能力有限(大噓

下面放上代碼


密碼鎖(二分法版)

OVERTURE架構(gòu)指令集:

最高兩位為操作碼,00立即數(shù)模式,01算術(shù)模式,10復(fù)制模式,11條件跳轉(zhuǎn)模式

立即數(shù)模式下,1-6位是立即數(shù),寫(xiě)入0號(hào)寄存器

算術(shù)模式下,1-3位為算術(shù)命令,000為OR,001為NAND, 010NOR, 011為AND, 100為ADD, 101為SUB, 110和111為UNUSED

復(fù)制模式下,1-3為目的,4-6為源,000-101對(duì)應(yīng)寄存器,110對(duì)應(yīng)輸入/輸出,111UNUSED

條件跳轉(zhuǎn)模式下,1-3位為條件,000為NEVER, 001為=0, 010為<0, 011為<=0, 100為ALWAYS, 101為!=0, 110為>=0, 111為>0


自定義匯編別名:

input/output: 00000110(6)

AND: 01000011(67)

add: 01000100(68)?

sub: 01000101(69)

copy: 10000000(128)

equal_0: 11000001(193)

less_0: 11000010(194)

always: 11000100(196)

greater_0: 11000111(199)


#4 編程(Part.4)密碼鎖的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
桂平市| 三门峡市| 四平市| 衡水市| 淳安县| 新竹县| 万安县| 伊通| 无棣县| 舟山市| 枝江市| 项城市| 建德市| 景洪市| 中山市| 漳浦县| 城口县| 平阳县| 乐安县| 茌平县| 永年县| 绵竹市| 江山市| 克东县| 喀喇沁旗| 龙陵县| 永康市| 淄博市| 淮阳县| 海口市| 满洲里市| 南宁市| 达尔| 临颍县| 略阳县| 吉林省| 汕尾市| 张掖市| 额济纳旗| 黄骅市| 松江区|