手持兩把錕斤拷,口中疾呼燙燙燙
腳踏千朵屯屯屯,笑看萬物鍩鍩鍩算法
亂碼👇
優化
亂碼是怎麼出現的呢?是CPU太熱了?口中疾呼燙燙燙?2333編碼
緣由是:一樣的文本,採用不一樣的編碼存儲下來。若是一個程序,用兩種不一樣的編碼方式來進行解碼和展現,就會出現亂碼。
解釋:Unicode是字符集類比於字典中的全部漢字與字符,UTF-8等是編碼方式(將Unicode中的字符進行編碼成一個數字類型)
由於存在不一樣的編碼方式,因此在解碼中若是用了和編碼時不一樣的方式,就會出現亂碼。設計
中國古代有「擊鼓進軍」和「鳴金收兵」,若是咱們把軍隊當成一臺計算機,那「金」和「鼓」就是這臺計算機0和1。
舊時代的電報機:蜂鳴器 + 長長的電線 + 按鈕開關」。蜂鳴器裝在接收方手裏,開關留在發送方手裏。
雙方用長長的電線連在一塊兒。當按鈕開關按下的時候,電線的電路接通了,蜂鳴器就會響。
短促地按下,就是一個短促的點信號;
按的時間稍微長一些,就是一個稍長的劃信號。而後收信號的人就根據聽到的長短信號,來譯碼了(好比電影裏的摩爾斯電碼)3d
舊時代電報機缺點是,在起點和終點距離很遠時,信號傳輸不過去,因此須要中間人去收聽輸入的蜂鳴信號,再按照聽到的信號傳遞給下一我的,須要不少中間人麻煩啊。
因此有了 使用繼電器 代替中間人code
相比使用人工聽蜂鳴器的聲音,來重複輸入信號,利用電磁效應和磁鐵,來實現這個事情會更容易。blog
半加器:經過一個異或門計算出個位,經過一個與門計算出是否進位,咱們就經過電路算出了一個一位數的加法。
因而,咱們把兩個門電路打包,給它取一個名字,就叫做半加器。
亂碼
由於半加器只能對兩個數 相加啊,
由於二位除了一個加數和被加數以外,還須要加上來自個位的進位信號,
進位就加不進去了,因此咱們引入全加器打包
全加器:
程序
加法器:由許多個全加器構成
1.手算13 * 9時,須要移位,而且各個位分別累加
放到電路設計中咱們能夠這樣優化算法:
把被乘數左移一位,把乘數右移一位,仍然用乘數去乘以被乘數,而後把結果加到剛纔的結果上。
反覆重複這一步驟,直到不能再左移和右移位置。
僅僅須要簡單的加法器、一個能夠左移一位的電路和一個右移一位的電路,就能完成整個乘法。
順序計算,複雜度O(n),比較慢。
2.並行加速 O(logn)
增長晶體管,打擂臺賽,計算兩兩相加的結果,須要更多數量的晶體管來放下中間計算結果。
3.電路並行 (線路連通,信號即傳遞)
暫時不懂,學不動了....再補