希望可以說的明白點

熱心網友

1、原碼的定義原碼表示法是機器數的一種簡單的表示法。其符號位用0表示正號,用:表示負號,數值一般用二進制形式表示。設有一數為x,則原碼表示可記作[x]原。①小數原碼的定義 [X]原 = X 0≤X <1 1- X -1 < X ≤ 0 例如: X=+0。1011 , [X]原= 01011 X=-0。1011 [X]原= 11011②整數原碼的定義 [X]原 = X 0≤X <2n 2n-X - 2n < X ≤ 0 原碼表示數的范圍與二進制位數有關。當用8位二進制來表示小數原碼時,其表示范圍: 最大值為0。1111111,其真值約為(0。99)10 最小值為1。1111111,其真值約為(一0。99)10當用8位二進制來表示整數原碼時,其表示范圍: 最大值為01111111,其真值為(127)10 最小值為11111111,其真值為(-127)10 在原碼表示法中,對0有兩種表示形式: [+0]原=00000000 [-0] 原=100000002、補碼的定義機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,并在未位加1而得到的。設有一數X,則X的補碼表示記作[X]補。①小數補碼的定義 [X]補 = X 0≤X <1 2+ X -1 ≤ X < 0 例如: X=+0。1011, [X]補= 01011 X=-0。1011, [X]補= 10101 ②整數補碼的定義 [X]補 = X 0≤X <2n 2n+1+X - 2n ≤ X < 0 補碼表示數的范圍與二進制位數有關。當采用8位二進制表示時,小數補碼的表示范圍: 最大為0。1111111,其真值為(0。99)10 最小為1。0000000,其真值為(一1)10采用8位二進制表示時,整數補碼的表示范圍: 最大為01111111,其真值為(127)10 最小為10000000,其真值為(一128)10 在補碼表示法中,0只有一種表示形式: [+0]補=00000000 [+0]補=11111111+1=00000000(由于受設備字長的限制,最后的進位丟失)所以有[+0]補=[+0]補=000000003、反碼的定義機器數的反碼可由原碼得到。如果機器數是正數,則該機器數的反碼與原碼一樣;如果機器數是負數,則該機器數的反碼是對它的原碼(符號位除外)各位取反而得到的。設有一數X,則X的反碼表示記作[X]反。反碼通常作為求補過程的中間形式,即在一個負數的反碼的未位上加1,就得到了該負數的補碼。①小數反碼的定義 [X]反 = X 0≤X <1 2-2n-1-X -1 < X ≤ 0 例如: X=+0。1011 [X]反= 01011 X=-0。1011 [X]反= 10100 ②整數反碼的定義 [X]反 = X 0≤X <2n 2n+1-1-X - 2n < X ≤ 0 例1。 已知[X]原=10011010,求[X]補。分析如下:由[X]原求[X]補的原則是:若機器數為正數,則[X]原=[X]補;若機器數為負數,則該機器數的補碼可對它的原碼(符號位除外)所有位求反,再在未位加1而得到。現給定的機器數為負數,故有[X]補=[X]原十1,即 [X]原=10011010 [X]反=11100101 十)      1 [X]補=11100110例2。 已知[X]補=11100110,求[X]原。 分析如下: 對于機器數為正數,則[X]原=[X]補 對于機器數為負數,則有[X]原=[[X]補]補現給定的為負數,故有: [X]補=11100110 [[X]補]反=10011001 十) 1 [[X]補]補=10011010=[X]原。