コンピュータ組成原理(相互変換固定小数点2進小数、浮動小数点表現は番号を表す)例:16ビットのワード長をフロートが設けられ、ANを含む、請求オーダーコード5(注文記号を含む)、11仮数(文字の数)

小数変換

バイナリに小数:

小数13 =>バイナリ


方法
13 = 2 。3 + 2 2 + 2 0 = 8 + 4 + 1
1101:二進数の
方法二
ここに画像を挿入説明
進数= 128>バイナリ
A
方法: 128 = 2 7
よう進数100 000 000
方法2

太字スタイル

十進数 13 128 \ FRAC {13}、{128} 変換=>バイナリ
A
方法:
13 = 13 = 2 。3 + 2 2 + 2 0 = 8 + 4 + 1
進数の1101
128 = 2 7ので、進数100 000 000は、それが小数点分子7の左側に移動することビット
ので、 13 128 \ FRAC {13}、{128} =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

浮点数和定点数的比较:

  1. 位数相同时,浮点数表示范围大
  2. 浮点数为规格化数时,相对精度比定点高

例题一:

设浮点数字长16位,其中阶码5位(含有1位阶符),尾数11位(含有1位数符),将十进制数+ 13 128 \frac{13}{128} 写成二进制定点数和浮点数,并分别写出它在定点机与浮点机中的机器数形式。

答:令 X=+ 13 128 \frac{13}{128}

  • 二进制形式: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

解析: 2110110二进制数字 ,转换为十进制为: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,阶符 数符各取一位ここに画像を挿入説明

    • 最大正数:215 x (1-2-10) 补码:0,1111;0.1111111111

    • 最小正数:2-15 x (2-10) 补码:1,0001;0.0000000001

      例题四:

设浮点数字长16位,其中阶码5位(含有1位阶符),尾数11位(含有1位数符),将数- 53 512 \ FRAC {53}、{512} 元のコードに対応する浮動小数点数、抗補コードを正規化仮数フォームの補数と、コード注文コードだけシフト
A:
110101:53進数に変換され、
512が進数に変換される:1000000000 2 。9
、従ってX = - 53 512 \ FRAC {53}、{512} = - 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
公開された58元の記事 ウォン称賛20 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_40709110/article/details/101278540