原碼
機器數最高為符號位,0正1負。補碼x=-0.1011,[x]原=11011 ,小數點預設在符號位之後,書寫時將其省略。
[x]補=[x]原(x>0)[x]補=[x]原除符號位取反加1(x<0)
[+0]補=[-0]補=0.0000
補碼加法運算
多符號位的補碼叫「變形補碼」。反碼一般運算用雙符號位,儲存保留乙個fs1。
[x]反=[x]原(x>0)移碼[x]飯=[x]原除符號位取反(x<0)
[x]移=-[x]補,即對[x]補符號取反。2.1 定點數在計算機中,移碼(階碼)只執行加減法運算,且結果要修正,即[x]移+[y]移+2n=[x+y]移,也就是對符號位取反。
0的移碼唯一且為100...0。
資料小於最小數(移碼<=-2n)時稱為機器零,置階碼(移碼)為0000...0,不管尾數如何,都是浮點數下溢。
小數點固定在某位,包括小數(小數點在數值左符號右)和整數(小數點在數值右)。
2.2 浮點數
小數點位置可以浮動。
n=m*re
n:浮點數,mantissa:尾數,exponent:階碼,radix:階的基數/底,常數,常為2、8、16。計算機中r都相同,不需在每個資料都表示,因此浮點數如下表示:mse
m尾數符號位,1位
階碼,最高位符號位,n+1位
m位m由ms和m組成乙個定點小數。
尾數規格化:r=2且尾數不為0,絕對值大於等於(0.5)10,即大於等於(0.1)2,即小數字最高位是1。對於不規格的數,左右移動尾數,同時修改階碼值,以保持值不變。
尾數為0時,無論階碼如何,浮點數值為0,稱為機器0。
ieee754標準,常用浮點數有以下兩種格式:
(1)單精度浮點數(32位)
e:8 bit,m:24 bit(包括一位符號位)(2)雙精度符號位(64位)
e:11 bit,m:53 bit(包括一位符號位)多數通用機中浮點數尾數常用補碼表示,階碼用補碼或移碼表示。[x]移=-[x]補,即對[x]補符號取反。
ieee754標準中,乙個規格化的32位浮點數n的真值表示為n=(-1)s * (1.m) * 2e-127
。浮點數由於階碼的存在而擴大了資料的範圍,32位單精度數範圍:-2127~(1-2-23)*2127,精度是24位。
二進位制數的表示
吐槽一下,今天網真慢,等了半天才進去 二進位制的表示,先舉個例項吧 一 23用二進位制表示 private sub command1 click dim n as byte n 23 const er as byte 2 dim shang as byte dim yushu 1 to 5 as b...
二進位制資訊表示
就是普通 的乙個整數 可能為負數 這個整數占用4個位元組空間 如何儲存到char型別的字元型陣列裡面,再按照單個位元組讀取的形式,在電腦本地,將資料讀取出來。比較簡單粗暴的方法 1.迴圈讀取,每次把整數的最小8位存進去,然後右移8位。比較直接的方法就是 char chrarr 10 int intv...
二進位制小數的表示
二級制小數分為兩大類 1 定點數 2 浮點數。定點數 1 小數點位置固定不變的數。2 定點數有定點整數和定點小數。定點整數 小數部分為0 定點小數 整數部分為0 定點整數的表示 規定小數點在最低有效位的後面。若為8位來表示,最高位用來表示正負號 即0與1 剩下7位為二進位制數,小數點在最低位的右邊 ...