數值編碼與計算詳解

2021-08-28 03:29:54 字數 1678 閱讀 4340

導航:

1.概念:

數制也稱計數制,是用一組固定的符號和統一的規則來表示數值的方法。任何乙個數制都包含兩個基本要素:基數和位權。

2.學這個有什麼用

雖然計算機能極快地進行運算,但其內部並不像人類在實際生活中使用的十進位制,而是使用只包含0和1兩個數值的二進位制。當然,人們輸入計算機的十進位制被轉換成二進位制進行計算,計算後的結果又由二進位制轉換成十進位制,這都由作業系統自動完成,並不需要人們手工去做,學習組合語言,就必須了解二進位制(還有八進位制/十六進製制)。

3.基本概念

數碼

基數

位權

數制

eg.把(175.216)d轉為二進位制數字則可拆分為以下兩個任務

eg1.(175)d轉為二進位制數字

175/2=87···1(最先出現放在右邊最後一位)

87/2=43···1

43/2=21···1

21/2=10···1

10/2=5···0

5/2=2···1

2/2=1···0

1/2=0···1(最後出現放在左邊第一位)

所以(175)d的二進位制表示是(10101111)

eg2.(0.216)d轉為二進位制數(保留6位)

0.216*2=0.432--》0(最先出現)

0.432*2=0.864--》0

0.864*2=1.728--》1

0.728*2=1.456--》1

0.456*2=0.912--》0

0.912*2=1.824-->1(最後出現)

所以0.216d轉為二進位制是0.001101

.....

故175.216d的二進位制表示為10101111.001101

原碼:表示原始資料的二進位製碼

求反碼原則

如果原始資料為正數(二進位制數最左邊一位是0)則原碼補碼反碼是一樣。

如果原始資料是負數(二進位制數最左邊一位是1)則把原碼除了最左邊一位按位取反,例如

原碼:10010(負數)

反碼:11101

原碼:01001(正數)

反碼:01001

補碼:01001

求補碼:補碼只討論負數情況,為負數的反碼加1

例如

原碼:10010(負數)

反碼:11101

補碼:11110

原碼:01001(正數都相同)

反碼:01001

補碼:01001

減法:把兩個數的補碼相加則為結果的補碼再按上述過程轉換回去則為減法的結果。

關係因為加法器只能計算加法,所以計算減法就必須進行轉換為加法,其詳細的證明比較複雜。反碼沒有任何作用,只是中間的橋梁。

數值表示與計算

ruby中的數值是以數值物件的形式存在的。數值的輸出與字串輸出一樣,也是使用print方法和puts方法。如 puts 10執行結果 10 irb prompt irb命令後的選項 prompt會簡化irb的輸出結果 1 1 輸入1 1 2 計算後結果為2ruby也與其他程式語言一樣,乘法用 號 除...

計算機編碼與Python的編碼

2 python的編碼 3 編碼的延伸 簡單來說,從明文到編碼文字,稱為 編碼 從編碼文字解發布到明文,稱為 解碼 ascii 計算機儲存資料是用了乙個個電阻單元,開啟為 1,關閉為 0,稱為1bit,也正為1位。最早,美國人用八個電阻去表達字元符,也就能表達256個不同的字元,英文單詞才有26個,...

linux 數值計算

root fedora14 lxg a 1 root fedora14 lxg b 3 root fedora14 lxg echo a b 4 root fedora14 lxg echo a b 4 root fedora14 lxg echo a b 4 root fedora14 lxg e...