最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
莱芜市| 平邑县| 景东| 蒲江县| 新丰县| 禄丰县| 罗江县| 安仁县| 新余市| 抚松县| 灵丘县| 甘泉县| 来宾市| 启东市| 西贡区| 双桥区| 泗洪县| 酒泉市| 龙山县| 平遥县| 通海县| 勃利县| 尼木县| 义乌市| 宝鸡市| 洪泽县| 荥经县| 海安县| 桐庐县| 镇巴县| 余姚市| 敦化市| 边坝县| 江都市| 桂林市| 图木舒克市| 玉林市| 武山县| 珲春市| 兴隆县| 普陀区|