补码的基本运算 补码如何运算

\u8ba1\u7b97\u673a\u8865\u7801\u8fd0\u7b97

\u8fd9\u4e2a\u662f\u52a0\u6cd5\uff0c\u76f4\u63a5\u7528\u539f\u7801\u8fd0\u7b97\u5c31\u597d\u4e86\u3002\u4e24\u4e2a\u539f\u7801\u76f8\u52a011+11=110\uff0c\u518d\u628a\u524d\u9762\u7684\u7b26\u53f7\u4f4d\u53bb\u6389\u5c31\u662f\u5c31\u662f-10\u3002\u5e0c\u671b\u53ef\u4ee5\u5e2e\u5230\u4f60\u3002

-0.01111-0.00101=\uff1f\uff1f\uff1f\uff1f
\u6b64\u9898\u6ca1\u6709\u6ea2\u51fa\uff01
\u56e0\u4e3a\uff1a
-0.01111\u8865\u7801\uff1a1.10001
-0.00101\u8865\u7801\uff1a1.11011
\u76f8\u52a0\uff1a
1.10001\uff0b1.11011\uff1d1.01100
1.01100\u539f\u7801:-0.10100
\u53ea\u6709\u5f53\u51cf\u6570\u4e0e\u88ab\u51cf\u6570\u7684\u7b26\u53f7\u76f8\u53cd\uff0c\u4f46\u662f\u7ed3\u679c\u4e0e\u51cf\u6570\u7b26\u53f7\u76f8\u540c\u65f6\uff0c\u624d\u4ea7\u751f\u6ea2\u51fa

[-54-30]补 = [-54]补 + [-30]补。-54的补码:因为是负数,所以符号位为1,54=32+16+4+2=0110110(2),取反=1001001,加1=1001010,

所以-54的补码是1 1001010.同理,30=16+8+4+2=0011110(2),取反=1100001,加1=1100010,-30的补码是1 1100010.[-54-30]补=1 1001010 + 1 1100010 = 1 0101100

根据补码的补码是原码:[[-54-30]补]补=原码。符号位为1,说明为负数,0101100取反=1010011,加1=1010100,转化为10进制得84,故结果为-84。

补码的表示方法是:

正数的补码就是其本身

如+9的补码是00001001。

负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]补

[-1] = [10000001]原 = [11111110]反 = [11111111]补

对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值。

扩展资料

正整数的补码是其二进制表示,与原码相同 。

例:+9的补码是00001001。

求负整数的补码,将其对应正数二进制表示所有位(包括符号位)取反(0变1,1变0,符号位为1不变)后加1 。

同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。

例:求-5的补码。

-5对应正数5(00000101)→所有位取反(11111010)→加1(11111011)

所以-5的补码是11111011。

参考资料来源:百度百科——补码



补码相加后的结果:1010 1100 是答案的补码,要转化成原码,才是最终答案.

补码转原码方法同原码转补码,即符号位不变,其余按位取反后+1

1010 1100

求反:1101 0011

求补:1101 0100

即:-84

这里用到了补码的运算规则:[X+Y]补=[X]补+[Y]补

求出[X]补+[Y]补后还要求一次补,才能得到答案X+Y

扩展资料:

补码运算原理: 在计算机里,如果我们要计算5-3的值,我们既可以用5减去3,也可以用5加上13。

这就像我们的钟表,它从1点走到12点之后,又回到了1点。我们的计算机也是,从0走到15之后,再往下走就又回到了0,就像我们转了一个圈一样。我们从5这个位置往回退3个格,就完成了5-3这个计算。

我们也可以从5这个位置往前走,一直走到15,这时我们走了10个格,然后我们继续往前走,走到0,然后到1,然后就走到了2。这样,我们往前走了13个格之后,也到了2这个位置。 

所以说,在我们这个计算机中,减3和加13是一样的。而3+13=16,我们说在模16的系统下,3和13是互补的。 

这样,我们计算5-3就可以换成5+13。3的二进制表示为0011,5的二进制表示为0101。这样,0101-0011就可以表示为0101+(-0011)。 

我们在计算机中都是把负数用其补码表示,-0011的补码就是10000-0011(即16-3,也就是13)。10000-0011=1+1111-0011=1+(1111-0011)=1+1100=1101。

我们总说补码是“按位取反再加一”,看了上面这个式子相信大家就会明白了,其实就是把10000-0011换成了1111-0011再加1的形式。

然后,0101-0011就换成了0101+1101,它们计算出来的结果为10010。由于我们的计算机只有四个bit,所以结果为0010。即,在模16的计算机中,5-3=5+13=2。 

参考资料:补码_百度百科 



在计算机中,负数或减法,都要借助于补码,再用加法来完成的。

得到的结果,也是补码。

  [-54]补 = 1100 1010

  [-30]补 = 1110 0010

---相加---------

     (1) 1010 1100 = [-84]补

计算的结果,是-84,以补码表示。



这不是很简单的哪!
任何讲补码的书中,都有这样的例题。
楼主看看书去吧。
别拿网友当丫环,随便来使唤。



  • 琛ョ爜鎬庝箞璁$畻
    绛旓細涓銆佽ˉ鐮佸姞娉曘俋+Y琛 = X琛 + Y琛銆備緥锛歑=+0110011,Y=-0101001锛屾眰X+Y琛ャX琛=00110011 Y琛=11010111銆俋+Y琛=X琛+Y琛=00110011+11010111=00001010銆傛敞锛氬洜涓鸿绠楁満涓繍绠楀櫒鐨勪綅闀挎槸鍥哄畾鐨勶紝涓婅堪杩愮畻涓骇鐢熺殑鏈楂樹綅杩涗綅灏嗕涪鎺夛紝鎵浠ョ粨鏋滀笉鏄100001010锛岃屾槸00001010銆備簩銆佽ˉ鐮佸噺娉曘俋-Y琛=X...
  • 琛ョ爜鐨勫熀鏈繍绠
    绛旓細杩欓噷鐢ㄥ埌浜嗚ˉ鐮佺殑杩愮畻瑙勫垯锛[X+Y]琛=[X]琛+[Y]琛 姹傚嚭[X]琛+[Y]琛ュ悗杩樿姹備竴娆¤ˉ,鎵嶈兘寰楀埌绛旀X+Y
  • 濡備綍姹琛ョ爜?
    绛旓細姝f暣鏁扮殑鍘熺爜锛氳繖涓暟鐨勪簩杩涘埗锛岀鍙蜂綅涓0锛涙鏁存暟鐨勫師鐮=琛ョ爜=鍙嶇爜 渚1锛+66 66鐨勪簩杩涘埗锛1000010锛屾墍浠+66鐨勫師鐮侊細 0 1000010 =琛ョ爜锛 0 1000010=鍙嶇爜锛 0 1000010 璐熸暣鏁扮殑鍘熺爜锛氫粛鏄繖涓暟鐨勪簩杩涘埗锛岀鍙蜂綅涓1锛涜礋鏁存暟鐨勫師鐮併佸弽鐮併佽ˉ鐮佽绠楋細鍏堟眰鍘熺爜锛屽啀姹傚弽鐮侊紝鏈鍚庢眰琛ョ爜...
  • 濡備綍鐞嗚В琛ョ爜鐨勮繍绠瑙勫垯?
    绛旓細1. 鐩稿姞锛氬皢涓や釜鏁扮殑琛ョ爜鐩稿姞锛岀浉鍔犲悗鐨勭粨鏋滃啀杞崲鎴愬師鐮侊紝鍗冲緱鍒扮浉鍔犵粨鏋銆2. 鐩稿噺锛氬皢琚噺鏁扮殑琛ョ爜涓庡噺鏁扮殑琛ョ爜鍙栧弽鍚庡啀鍔1锛屽皢寰楀埌鍑忔暟鐨勭浉鍙嶆暟鐨勮ˉ鐮併傜劧鍚庡皢琚噺鏁扮殑琛ョ爜涓庡噺鏁扮殑鐩稿弽鏁扮殑琛ョ爜鐩稿姞锛岀浉鍔犲悗鐨勭粨鏋滃啀杞崲鎴愬師鐮侊紝鍗冲緱鍒扮浉鍑忕粨鏋溿傚湪杩涜琛ョ爜杩愮畻鏃讹紝闇瑕佹敞鎰忎互涓嬪嚑鐐癸細1. 琛ョ爜琛ㄧず鐨...
  • 琛ョ爜杩愮畻婧㈠嚭妫娴嬪強瑙e喅鏂规硶
    绛旓細琛ョ爜杩愮畻鐨勫熀鏈鍏紡濡備笅锛氬綋杩涜琛ョ爜杩愮畻鐨勬椂鍊欙紝涓嶅彲閬垮厤浼氫骇鐢熸孩鍑洪棶棰橈細涓婂浘涓紝+89鍜+108鐨勭鍙蜂綅閮芥槸0锛屾渶楂樻暟鍊间綅閮芥槸1锛屾渶楂樻暟鍊间綅浜х敓杩涗綅锛屽墠鑰呬笉浜х敓杩涗綅锛璁$畻缁撴灉浜х敓婧㈠嚭銆傚啀鐪嬪皬鏁琛ョ爜鐨瀹氫箟锛氫笂鍥句腑鐨勬渶楂樻孩鍑轰綅1鍘婚櫎涓嶈銆備笂鍥惧垯鏄骇鐢熶簡婧㈠嚭鐨勬儏鍐点備袱涓皬鏁颁箣鍜屽鏋滆秴杩1锛屽垯鑲畾...
  • 璁$畻鏈轰腑鐨勪簩杩涘埗琛ョ爜濡備綍杩愮畻?
    绛旓細浜岃繘鍒剁殑琛ョ爜璁$畻闈炲父绠鍗曪紝鍚勭鏁欐潗涓篃缁忓父浣跨敤浜岃繘鍒舵潵璇存槑婧愮爜銆佸弽鐮佷笌琛ョ爜涓夎呯殑鍏崇郴锛屾帉鎻′竴瀹鍩虹鐨勪汉閮界煡閬撲竴涓嬭鍒欙細锛1锛夊師鐮併傛渶楂樹綅涓虹鍙蜂綅锛0琛ㄧず姝f暟锛1琛ㄧず璐熸暟銆備緥濡傦細X=0b11(3)锛屽洓姣旂壒琛ㄧず鍘熺爜=0011(3)锛沊=-0b11(-3)锛屽洓姣旂壒琛ㄧず鍘熺爜=1011(11)锛涳紙2锛夊弽鐮併傛渶楂樹綅涓虹鍙...
  • 浠涔堟槸琛ョ爜鐨勮繍绠?
    绛旓細姝f暟鐨勮ˉ鐮佸氨鏄叾鏈韩锛岃礋鏁扮殑琛ョ爜鍒欓渶瑕侀氳繃瀵瑰叾缁濆鍊肩殑浜岃繘鍒惰〃绀哄彇鍙嶅姞1寰楀埌銆備緥濡傦紝-5鐨勮ˉ鐮佹槸1111 1011锛堜簩杩涘埗锛夈4銆琛ョ爜鐨勮繍绠瑙勫垯锛氬湪杩涜琛ョ爜杩愮畻鏃讹紝闇瑕佸厛灏嗘墍鏈夌殑鏁伴兘杞崲涓鸿ˉ鐮佸舰寮忥紝鐒跺悗杩涜鍔犲噺杩愮畻銆傚姞娉曡繍绠楁椂锛岀洿鎺ュ皢涓や釜琛ョ爜鐩稿姞鍗冲彲銆備絾鏄湪杩涜鍑忔硶杩愮畻鏃讹紝闇瑕佸皢鍑忔暟鍙栧弽鍔1锛...
  • 琛ョ爜杩愮畻
    绛旓細琛ユ暟璁$畻娉曟槸涓绉嶇敤浜庤绠楁満涓繘琛屾暟鍊杩愮畻鐨勬柟娉曪紝甯哥敤浜庝簩杩涘埗鎴栧崄杩涘埗鐨琛ョ爜鏁拌〃绀烘硶涓傚畠鐨勫熀鏈鎬濇兂鏄埄鐢ㄨˉ鏁版潵閬垮厤鏁板兼孩鍑烘垨璐熸暟杩愮畻鏃剁殑鍊熶綅鍜岃繕鍘熸搷浣滐紝浠庤岀畝鍖栬绠楄繃绋嬶紝鎻愰珮璁$畻閫熷害銆傚湪浜岃繘鍒惰ˉ鐮佽〃绀烘硶涓紝姝f暟鐨勮ˉ鐮佺瓑浜庡叾鏈韩锛岃礋鏁扮殑琛ョ爜鍒欐槸鍏剁粷瀵瑰肩殑浜岃繘鍒惰〃绀哄彇鍙嶅姞1銆備緥濡傦紝-3鐨...
  • 姝f暟鍜岃礋鏁扮殑琛ョ爜鏄庝箞璁$畻鐨?
    绛旓細锛128 鐨勮ˉ鐮侊細 128 = 1000 0000銆傞浂鍜屾鏁帮紝骞朵笉瀛樺湪鈥滅瓑鏁堢殑姝f暟鈥濄傛墍浠ワ紝闆跺拰姝f暟锛屾牴鏈氨涓嶅瓨鍦ㄨˉ鐮併傦紞锛嶏紞 鐢ㄨˉ鐮侊紙姝f暟锛変唬鏇胯礋鏁颁箣鍚庯紝璁$畻鏈轰腑锛屽氨娌℃湁璐熸暟浜嗐傚悓鏃讹紝涔熷氨娌℃湁鍑忔硶杩愮畻浜嗐傚洜姝わ紝灏卞彲浠ョ畝鍖栬绠楁満鐨勭‖浠躲傚彧瑕侀厤缃竴涓姞娉曞櫒锛屽氨鍙互璧伴亶澶╀笅銆傦紞锛嶏紞 琛ョ爜鐨鏉ユ簮鍜屾剰涔夛紝灏...
  • 琛ョ爜鐨勮绠鏂规硶
    绛旓細涓銆佷簩杩涘埗琛ョ爜璁$畻鐨勫熀鐭 鍦ㄦ暟瀛椾笘鐣屼腑锛屼簩杩涘埗琛ョ爜鐨勮绠鏄绠楁満绉戝涓殑鍩虹煶銆傜悊瑙e叾鍩烘湰瑙勫垯鏄▼搴忓憳蹇呭鐨勬妧鑳姐傞鍏堬紝璁╂垜浠粠鍘熺爜銆佸弽鐮佸拰琛ョ爜鐨勫畾涔夊紑濮嬶細鍘熺爜锛氫簩杩涘埗琛ㄧず涓紝鏈宸﹁竟鐨勪綅鏄鍙蜂綅锛0琛ㄧず姝f暟锛堝 0b11 鎴 0011(3)锛夛紝1琛ㄧず璐熸暟锛堝 1011 鎴 -3鐨勫師鐮侊級銆傚弽鐮侊細瀵逛簬姝f暟锛...
  • 扩展阅读:补码运算计算器 ... 补码运算器 ... 求补码的三种方法 ... 补码是怎么算的 ... 补码怎么计算加减 ... 原反补码转换 ... 补码的运算方法 ... 补码的详细计算方法 ... 求补码的简单方法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网