小数変換
バイナリに小数:
小数13 =>バイナリ
:
方法:
13 = 2 。3 + 2 2 + 2 0 = 8 + 4 + 1
1101:二進数の
方法二:
進数= 128>バイナリ
A:
方法: 128 = 2 7
よう進数100 000 000
方法2
十進数
変換=>バイナリ
A:
方法:
13 = 13 = 2 。3 + 2 2 + 2 0 = 8 + 4 + 1
進数の1101
128 = 2 7ので、進数100 000 000は、それが小数点分子7の左側に移動することビット
ので、
=0.0001101
二进制转换十进制:
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0
+8+0+32+64+0=107.
二进制01101011=十进制107
11转换十进制:
第0位:1乘2的0次方=1
第1位:1乘2的1次方=2
二进制11=十进制3
110转换十进制:
110=0 * 20+1 * 21+1 * 22=6
十六进制转换二进制:
首先把十六进制数中的每一位数转换为二进制数,每个数要分四位,不足四位的前面加零
我们看到 FD时,如何迅速将此16进制数转换为二进制数呢?
先转换F:
看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。
接着转换D
看到D,知道它是13,13如何用8421凑呢?应该是:8 + 4 + 1,即:1101。
所以,FD转换为二进制数,为:1111 1101
二进制转换十六进制:、
记住8 4 2 1,对于任意一个4位的二进制数,我们都可以很快算出它对应的16进制值。
1111 = 8 + 4 + 2 + 1 = 15 =F
1110 = 8 + 4 + 2 + 0 = 14= E
1101 = 8 + 4 + 0 + 1 = 13= D
1100 = 8 + 4 + 0 + 0 = 12 =C
1011 = 8 + 0 + 2 + 1 = 11= B
1010 = 8 + 0 + 2 + 0 = 10 =A
1001 = 8 + 0 + 0 + 1 =9 =9
……
0001 = 0 + 0 + 0 + 1 = 1= 1
0000 = 0 + 0 + 0 + 0 = 0= 0
二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。
定点表示
- 纯小数:小数点位于数符和第一数值位之间时,机器内的数为纯小数,表示范围:-(1-2-n)~(1-2-n)
- 纯整数:小数点位于数值位之后,表示范围:-(2n-1)~(2-n-1)
- 定点机:采用定点数的机器
浮点表示
通常浮点数别表示为:N=S*rj
-
S为尾数(可正可负)
-
j为阶码(可正可负)
-
r为基数(可以取2,4,8…)
-
计算机规定浮点数尾数用纯小数形式
例如:N=11.0101
=0.110101 * 210
=1.10101 * 21
=0.00110101 * 2100 -
所以 0.110101 * 210 ; 0.00110101 * 2100是可以采用的
-
浮点数的规格化形式:
将尾数最高位为1的浮点数称为规格化数,即
N= 0.110101 * 210为规格化数 -
浮点数最大正数2(2m-1) * (1-2-n)
-
浮点数最小正数2-(2m-1) * 2-n
-
浮点数最大负数-2(2m-1) * (1-2-n)
-
浮点数的上溢:浮点数阶码大于最大阶码,机器停止运算,进行中断溢出处理
-
浮点数的下溢:浮点数阶码小于最小阶码,机器不停止运算,将尾数各位强制为0
浮点数的规格化:
将非规格化传化为规格化数的过程称为规格化
- 左规:尾数左移一位,阶码-1
- 右规:尾数右移一位,阶码+1
浮点数和定点数的比较:
- 位数相同时,浮点数表示范围大
- 浮点数为规格化数时,相对精度比定点高
例题一:
设浮点数字长16位,其中阶码5位(含有1位阶符),尾数11位(含有1位数符),将十进制数+ 写成二进制定点数和浮点数,并分别写出它在定点机与浮点机中的机器数形式。
答:令 X=+
- 二进制形式:x=0.0001101因为尾数为11位,所以后面补0:x=0.0001101000
- 定点数形式:x=0.0001101000
- 浮点数规格化表示: 0.1101000000 x 2-11
解析: 2-11中**-11**为二进制数字 ,转换为十进制为:-3 ;-11在机器中表示为1 0011
- 定点机中 【x】原=【x】补=【x】反=0.0001101000
- 浮点机中:
例题二:
将十进制数-54表示成二进制定点数和浮点数,并写出它在定点机与浮点机中的机器数形式(其他要求同上例题)
答:令x = - 54- 二进制形式:x=-110110
- 定点数表示:x=-0000110110
- 浮点数规格化表示:0.1101100000 x 2110
解析: 2110中110为二进制数字 ,转换为十进制为:6 ;110在机器中表示为0,0110
-
定点机中:
-
(因为是负整数,所以符号码为1 ,并且用逗号隔开)
【x】原=1, 0000110110
【x】反=1,1111001001
【x】补=1,1111001010 -
浮点机中:
-
(阶码为110,所以在浮点机器表示0,0110)
【x】原=0.0110;1.1101100000
【x】反=0.0110;1.0010011111
【x】补=0.0110;1.0010100000例题三:
写出对应图的所示的浮点数的补码形式,设图中n=10,m=4,阶符 数符各取一位
设浮点数字长16位,其中阶码5位(含有1位阶符),尾数11位(含有1位数符),将数-
元のコードに対応する浮動小数点数、抗補コードを正規化仮数フォームの補数と、コード注文コードだけシフト
A:
110101:53進数に変換され、
512が進数に変換される:1000000000 2 。9
、従ってX = -
= - 0.000110101
彼は浮動小数点数である正規化させ、( - 0.110101 0000)X-2 -11
分析: 2 -11 ** --11 **であるバイナリ数は10進数に変換される:-3、-11機はとして表されます1,0011
- [X] =オリジナル1,0011; 1.110101 0000
- トランス - [X] = 1,1100; 1.0010101111
- [X] = 1,1101相補; 1.0010110000
分析:真値と符号ビットのみが異なるフレームシフト補体、「0」から「1」または「1」0」に、真の値を得ることができるの補数から符号ビットとフレームシフト
- [X]変速段、尾アップ= 0,1101; 1.0010110000