C语言的原码,反码,补码是什么意思?

 我来答
babywangli_123
推荐于2017-09-10 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7343
采纳率:6%
帮助的人:3418万
展开全部
1)原码表示

原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作[x]原。

例如,X1= +1010110

X2= 一1001010

其原码记作:

[X1]原=[+1010110]原=01010110

[X2]原=[-1001010]原=11001010

在原码表示法中,对0有两种表示形式:

[+0]原=00000000

[-0] 原=10000000

2)补码表示

机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。

例如,[X1]=+1010110
[X2]= 一1001010
[X1]原=01010110
[X1]补=01010110
即 [X1]原=[X1]补=01010110
[X2] 原= 11001010
[X2] 补=10110101+1=10110110
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。
例如,[X1]=+1010110
[X2]= 一1001010
[X1]原=01010110
[X1]补=01010110
即 [X1]原=[X1]补=01010110
[X2] 原= 11001010
[X2] 补=10110101+1=10110110

(3)反码表示法

机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作[X]反。

例如:X1= +1010110
X2= 一1001010
[X1]原=01010110
[X1]反=[X1]原=01010110
[X2]原=11001010
[X2]反=10110101

反码通常作为求补过程的中间形式,即在一个负数的反码的未位上加1,就得到了该负数的补码。

例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]原+1
[[X]补]补=10011010=[X]原

总结一下,原码(为负时,正时都不变)全部取反即得到反码,反码加
"1"就得到补码了,就是这么简单。
沙里波特
2021-07-29 · TA获得超过5250个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:637万
展开全部

计算机里面,没有原码和反码。

补码,是在计算机内部,正负数的存放格式。

C 语言是高级语言。

用高级语言编程,是不用关心计算机内部的事的。

如果非要涉及计算机内部的细节,那就不是高级语言了。

很多教材书籍的作者,都没有弄明白:什么是高级语言。

计算机内部的码,有很多种了,要是讨论起来,C 语言就学不完了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-02-10 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

C 语言中,并没有补码。

而且,在计算机中,也根本就没有原码和反码。

用 C 语言编程,你只需使用小学生都懂的十进制数、正负号,即可。

用 C 语言编程,你只需关心:图书馆管理、财务管理。。。

补码,是在计算机内部,正负数的存放格式。

计算机内部的事,由“编译软件”帮你处理,这就行了。

而 C 语言,这可是高级语言哪!

深入讨论计算机内部,这就不是“高级语言”了。

千万不要舍本求末。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
79749416
2014-03-26 · TA获得超过646个赞
知道小有建树答主
回答量:863
采纳率:0%
帮助的人:274万
展开全部
C语言源码就是C语言编辑好的原始程序,没有改动过的。
补骂就是后续程序出现各种情况,需要增加或者修改内容,再次改动的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱娱乐唉生活
2014-03-26 · 超过17用户采纳过TA的回答
知道答主
回答量:318
采纳率:0%
帮助的人:79.4万
展开全部
楼下正解关于反马是反编译?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式