首頁 短篇

編程代碼之戰(zhàn)

第十一章 繼續(xù)壓縮

編程代碼之戰(zhàn) 程序小猿 472 2022-09-04 09:35:26

  二進(jìn)制轉(zhuǎn)為36進(jìn)制的方法,能夠勝任這個(gè)地圖實(shí)例的壓縮。

  但如果地圖更大一些,比如6X6、7X7大小,就會(huì)暴露出一個(gè)問題。

  一行的二進(jìn)制數(shù)字有可能需要更多字符來表示。

  比如:

  “100110”

  這個(gè)二進(jìn)制數(shù)字用36進(jìn)制來表示,得到:

  “12”

  壓縮后的字符串還是占了2的長(zhǎng)度,效果并不理想?yún)取?p>  那么,該怎樣改進(jìn)呢?

  程序猿靈機(jī)一動(dòng),又想到了一種更好的方法。

  首先,將這個(gè)二進(jìn)制數(shù)字表示為10進(jìn)制,得到“38”:

  “100110”-“38”

  然后,將這個(gè)“38”看作是字符的UTF-16編碼,返回對(duì)應(yīng)的字符。

  (JavaScript代碼)

  String.fromCharCode(38);

  調(diào)用返回:“&”

  沒錯(cuò),這個(gè)“按位與”符號(hào)就是壓縮后的結(jié)果!

  這樣的壓縮方案,更徹底,只需要1個(gè)字符...

  更酷!

  有了好的方案,編寫代碼自然是很容易的事情啦。

  楊成對(duì)地圖信息實(shí)例壓縮后,給檢查站的工作人員發(fā)送短信。

  “哥們,真感謝你”。

  科勒文拍了拍他的肩膀。

  此時(shí),夕陽完全落山,大地被黑暗所籠罩。

  “嘀...嘀...”

  科勒文的手機(jī)鈴聲及時(shí)地響起。

  “游客您好,我是景區(qū)工作人員,剛收到了你們的坐標(biāo)信息”。

  “鑒于夜晚來臨,會(huì)給搜救工作帶來麻煩”。

  “請(qǐng)你們先找個(gè)安全的地方,耐心等待”。

  “我們將派出一臺(tái)尋路機(jī)器人,帶你們返回”。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南