首頁 >後端開發 >php教程 >計算機數字的計算都是二進制的,但是不同的編碼是否是否會產生不同的二進制

計算機數字的計算都是二進制的,但是不同的編碼是否是否會產生不同的二進制

WBOY
WBOY原創
2016-08-04 09:20:101271瀏覽

例如 計算 2*3 計算機會先轉成二進制進行計算,如果是不同的編碼形式,是不是對應著不同的二進制

回覆內容:

例如 計算 2*3 計算機會先轉成二進制進行計算,如果是不同的編碼形式,是不是對應著不同的二進制

是的,不同的編碼會有不同的記錄資料的方法,當然他們也會有相似相同的地方。
編碼主要針對的是字串,在數位儲存是也有大小端序之分,都是不同的二進位資料記錄規則的體現。

題主有幾個基礎概念先得弄清楚。

首先你說的應該是在原始碼中的“2*3”,原始碼檔案的字元編碼可以是不同的,它們的二進位表示也不同。然後你提到了“計算”,那肯定得先經過編譯生成目標代碼才能被執行(無論是解釋執行還是cpu指令執行),假如你是生成的機器代碼,那麼在同一台機器上,數字存儲的格式是一樣的。假如是產生的某個虛擬機器的字節碼,那麼數字格式和字節碼的編碼一樣。

你先得搞清楚數據的類型。你計算2*3是兩個整數計算,也就是10*11(二進位),並沒有編碼之分,你放到不同的架構上只是表示整數的長度不同而已。

你說的編碼是針對字元的,例如2和3的ASCII就分別是0110010和0110011,這並不是用來計算的。

是的,隨便用什麼編碼,隨便怎麼儲存。
但是必須保證計算結果相同。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn