A. 負數的補碼怎麼求
就比如-9 補碼是11110111。
9的源碼為00001001,如果是負數的話,補碼為最高位置1,
其餘取反也就是11110110,
然後在最低位加1即可即11110111。
B. 如何用負數的補碼來求原碼,求例子
首先,負數的補碼=其正數的源碼的反碼+1。然後,負數的源碼就是先減1在取反,最高位為1
eg:(-125)源=11111101b,
(-125)反=10000010b,
(-125)補=10000011b,反過來求-125的源碼就是用-125的補碼10000011先減1,得到10000010,在取反01111101,最高位改成1,11111101,懂了嗎?祝考試周愉快~
C. 負數的補碼如何計算舉個例子!
就比如-9補碼是11110111。
9的源碼為00001001,如果是負數的話,補碼為最高位置1,其餘取反也就是11110110,然後在最低位加1即可即11110111。
計算機中的負數是以其補碼形式存在的補碼=原碼取反+1。
一個位元組有8位可以表示的數值范圍在-128到+127。用二進製表示也就是10000000-01111111(注意:最高位表示符號)。最高位是1的都是負數最高位是0的都是正數。
(3)負數的補碼怎樣源碼嗎擴展閱讀:
補碼乘法
補碼的乘法不具備【X*Y】補=【X】補×【Y】補的性質。但是【X*Y】補==【X】補×Y,所得結果再取補碼,如x=101,y=011,[x*y]補=-[(-101)*011]=-[011*011]=-01001=10111。
其中,若【Y】補=y31y30……y0,則Y=-y31*2^31+y30*2^30+……+y0*2^0
原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
D. 負數的補碼怎麼變回原碼
只需對其各位取反加一即可得到原碼。
從數學角度回答,假定在32位機器上。
設某負數X,則X+X(反)= 0xFFFFFFFF。
所以X+X(反)+1 = 0,可以得出 0 - X = X(反)+ 1。
這里 0 - X即定義為負數X的補碼,這樣,計算機在進行X-Y運算時實際可用X+Y(補)代替,硬體角度只需實現加法電路即可。
同樣的道理,0-X(補)=X(補)(反)+1 = X,即已知負數補碼只需對其各位取反加一即可得到原碼。
補碼的意義
補碼「模」概念的引入、負數補碼的實質、以及補碼和真值之間的關系所揭示的補碼符號位所具有的數學特徵,無不體現了補碼在計算機中表示數值型數據的優勢,和原碼、反碼等相比可表現在如下方面:
1、解決了符號的表示的問題。
2、可以將減法運算轉化為補碼的加法運算來實現,克服了原碼加減法運算繁雜的弊端,可有效簡化運算器的設計。
3、在計算機中,利用電子器件的特點實現補碼和真值、原碼之間的相互轉換,非常容易。
4、補碼表示統一了符號位和數值位,使得符號位可以和數值位一起直接參與運算,這也為後面設計乘法器除法器等運算器件提供了極大的方便。
總之,補碼概念的引入和當時運算器設計的背景不無關系,從設計者角度,既要考慮表示的數的類型(小數、整數、實數和復數)、數值范圍和精確度,又要考慮數據存儲和處理所需要的硬體代價。因此,使用補碼來表示機器數並得到廣泛的應用,也就不難理解了。
E. 計算機原碼反碼補碼怎麼算
計算機原碼反碼補碼計算方法:
1、原碼
原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值。比如如果是8位二進制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符號位. 因為第一位是符號位, 所以8位二進制數的取值范圍就是:[1111 1111 , 0111 1111]
即[-127 , 127]
原碼是人腦最容易理解和計算的表示方式。
2、反碼
反碼的表示方法是:正數的反碼是其本身。負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可見如果一個反碼表示的是負數,人腦無法直觀地看出來它的數值。通常要將其轉換成原碼再計算。
3、補碼
補碼的表示方法是:正數的補碼就是其本身。負數的補碼是在其原碼的基礎上,符號位不變,其餘各位取反,最後+1。(即在反碼的基礎上+1)。
[+1] = [00000001]原 = [00000001]反 = [00000001]補
[-1] = [10000001]原 = [11111110]反 = [11111111]補
對於負數,補碼表示方式也是人腦無法直觀看出其數值的。通常也需要轉換成原碼在計算其數值。
(5)負數的補碼怎樣源碼嗎擴展閱讀:
原碼,反碼和補碼是完全不同的。既然原碼才是被人腦直接識別並用於計算表示方式,為何還會有反碼和補碼呢?
首先,因為人腦可以知道第一位是符號位,在計算的時候我們會根據符號位,選擇對真值區域的加減。但是對於計算機,加減乘數已經是最基礎的運算,要設計的盡量簡單。計算機辨別"符號位"顯然會讓計算機的基礎電路設計變得十分復雜。於是人們想出了將符號位也參與運算的方法。我們知道,根據運演算法則減去一個正數等於加上一個負數,即: 1-1 = 1 + (-1) = 0 , 所以機器可以只有加法而沒有減法,這樣計算機運算的設計就更簡單了。
於是人們開始探索將符號位參與運算,並且只保留加法的方法。
F. 計算機二進制中負數的補碼是怎麼根據原來的數寫的如-126怎麼寫
正數的補碼,就是該數本身。
負數的補碼,就用正數,減一、取反,即可。
+126 的補碼是:0111 1110。
減一,得:0111 1101;
然後取反:1000 0010。
這就是-126 的補碼。
想要求補碼,你就直接求補碼,不用討論原碼反碼。
因為,計算機中,根本就沒有原碼反碼。
所以,根本就不用討論,這些不存在的東西。
G. 怎麼求一個負數的原碼和補碼
正數,本身就是補碼。
負數,就用它的正數,減一取反,即可得到補碼。
如:+9 的二進制是:0000 1001。
下面求-9 補碼:
先減一:0000 1001 - 1 = 0000 1000;
再取反:1111 0111。
所以有:-9 補碼 = 1111 0111。
這不就完了嗎!
簡不簡單?意不意外?
原碼反碼符號位,討論這些垃圾幹嘛?
這些垃圾,只是那些專家用來騙吃騙喝的!
H. 負數的補碼怎麼求
正數的補碼,是其本身。
負數的補碼,就用它的正數,減一取反,即可得到補碼。
如,已知:+9補碼是:00001001。
下面求-9補碼:
先減一:00001001-1=00001000;
再取反:11110111。
所以有:-9補碼=11110111。
這不就完了嗎?
簡不簡單?意不意外?
原碼反碼符號位,討論這些垃圾幹嘛?
不都是騙人的嗎?
I. C語言中負數的補碼怎麼求
正數,本身就是補碼。
負數,就用它的正數,減一取反,即可得到補碼。
如,已知:+9 的二進制是:00001001。
下面求-9補碼:
先減一:00001001-1=00001000;
再取反:11110111。
所以有:-9補碼=11110111。
這不就完了嗎!
簡不簡單?意不意外?
原碼反碼符號位,討論這些垃圾幹嘛?
這些垃圾,都是用來騙吃騙喝的!
J. 一個負數如何用補碼表示,舉例說明下!
一個負數如何用補碼表示,舉例說明下!
------
按照八位字長,負數的范圍是-1~-128。
它們的補碼推導如下。
十進制數 0,以二進制補碼 0000 0000 存放。
十進制數 -1,你就減去 1,補碼就是 1111 1111。
十進制數 -2,你就再減 1,補碼就是 1111 1110。
。。。
十進制數 -128,減 1減 1...,補碼就是 1000 0000。