补码和真值的转换
2个回答
展开全部
知道补码,求真值,是非常简单的。
你不用求“反码原码”。你也不用想着“符号位不变”。
“取反加一”或“减一取反”,都是不需要的。
你就直接进行【数 制 转 换】即可。
比如,有一个八位的补码:1000 1110。
首位 1,既代表负号,也代表数值-128。
其余位,都是正数:8 + 4 + 2 = +14。
求总和,故其真值就是:-114。
----------
如果首位是 0,那就更简单了。
即,补码是:0000 1110。
其真值就是:8 + 4 + 2 = +14。
----------
看明白了这些,你再由真值求补码,步骤也是很简单的。
“原码反码取反加一”这是干嘛啊?
老外数学不好,才会弄出这些个烂事。
展开全部
如果补码的首位是0,那它就表示一个正数,直接把二进制数转换为十进制数就行。
例如:[x]补=00110010,因为(110010)2=50
x的真值就是50。
如果补码的首位是1,那它就表示一个负数,可以先-1算出它的反码,再根据反码写出原码。最后把符号位后面的二进制数转换为十进制数,前面加上“-”就行。
例如:[x]补=10110010,则[x]反=10110001,[x]原=11001110
因为(1001110)2=78
x的真值就是-78。
例如:[x]补=00110010,因为(110010)2=50
x的真值就是50。
如果补码的首位是1,那它就表示一个负数,可以先-1算出它的反码,再根据反码写出原码。最后把符号位后面的二进制数转换为十进制数,前面加上“-”就行。
例如:[x]补=10110010,则[x]反=10110001,[x]原=11001110
因为(1001110)2=78
x的真值就是-78。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询