社区
VC.NET
帖子详情
负数的补码是算的?
zhouxi020
2008-10-23 12:30:49
-8的补码是多少啊?谁能告诉我吗?最好是把计算的过程写写!thanks
...全文
902
3
打赏
收藏
负数的补码是算的?
-8的补码是多少啊?谁能告诉我吗?最好是把计算的过程写写!thanks
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HimeTale
2008-10-23
打赏
举报
回复
32位太长了,就当是16位吧
-8是1000000000001000
负数的补码是取反加1
所以是1111111111111000
ps:如果不是计算机专业的最好别搞vc
liuweibit
2008-10-23
打赏
举报
回复
#include<iostream.h>
#include<stdio.h>
void main()
{
int n, i;
unsigned mask;
cout<<"请输入一个整形数: n=";
cin>>n;
cout<<n<<"的二进制数的补码为:"<<endl;
mask = 1 << (sizeof(n));
for (i = 0; i < sizeof(n)+1; i++)
{
if (n & mask)
putchar('1');
else
putchar('0');
n <<= 1;
}
cout<<endl;
}
这是一个在VC6.0下运行成功的程序计算补码.
对于整数而言,正数的原码,反码和补码都是一样的
而负数的反码是原码除符号位按位取反,补码则是反码再加工1,如下:
1100110011 原
1011001100 反 除符号位,按位取反
1011001101 补 除符号位,按位取反再加1
正数的原反补是一样的
至于小数据那就更复杂了,那就要仔细看书了.
Dan_M
2008-10-23
打赏
举报
回复
-8等于8的二进制取反加1
关于求
负数
补码
负数
在计
算
机中是用
补码
的形式存储的,正数在计
算
机中是用原码的形式存储的。 正数求原码直接将十进制转二进制即可,
负数
的
补码
是在原码的基础上除符号位外其余位取反后+1。 但是用这种方式求
负数
补码
用编程实现不太方便,下面介绍一种用编程实现起来较简便的求
负数
补码
的方法: 1. 求出
负数
绝对值的原码 2. 从原码的最后一位数码位往前数,当遇到第一个1时停在此位置 3. 将第一个1前面的数码全部求反...
快速求
负数
的
补码
的原理
不久之前,因为做项目遇到了不少客户的数据为
负数
的,由于数据传输的关系,需要将
负数
的值传给客户,因此,接触到了一种非常不错的计
算
负数
补码
的方法,下面想总结一下这个方法的原理,方便自己记忆。 话不多说,先上结论:
负数
的
补码
= (
负数
+ 2的数据数量次方)取二进制 例子:一个字节数数据,-2 -2的
补码
= -2 + 2^8 = 11111110 通用计
算
方法 众所周知,
补码
与原码,反码的关系如下: 1、正数的原码 = 正数的反码 = 正数的
补码
2、
负数
的原码 = 对应正数的原码 + 2的数据位数量次方,最
负数
补码
原码
负数
在计
算
机中是用
补码
的形式存储的,正数在计
算
机中是用原码的形式存储的。 正数求原码直接将十进制转二进制即可,
负数
的
补码
是在原码的基础上除符号位外其余位取反后+1。 但是用这种方式求
负数
补码
用编程实现不太方便,下面介绍一种用编程实现起来较简便的求
负数
补码
的方法: 求出
负数
绝对值的原码 从原码的最后一位数码位往前数,当遇到第一个1时停在此位置 将第一个1前面的数码全部求反 比如:(字长为8位) ...
补码
是什么?
补码
有什么用?
首先我们来了解下
补码
的定义,在很多资料上说
补码
都是从原码说起,但实质上
补码
是有其定义的:
补码
定义:计
算
机中二进制形式的补数。 这个定义是比较抽象的,下面我将举一些实际的例子来解释。 二进制形式:就是0和1组成的串,例如数字3的二进制形式是11,数字-9的二进制形式是11001。 补数:初中时我们学过互补角,两个角加起来等于180度,则称两个角互补。在日常生活中,将某物体顺时针旋转270度和逆时针旋转90度能达到同样的效果,把时钟里的分钟顺时针调整40分钟和逆时针调整20分钟,分针最后的位置是一样的。这时2
负数
补码
今天做了个很容易出错的题目 总结下 关于
负数
补码
的知识 首先在计
算
机系统中数据都是以
补码
存储的 正数的
补码
很简单就等于其二进制原码
负数
的
补码
1.先将
负数
的绝对值进行二进制转换 2.将最高位即符号位变为1(符号位为1表示
负数
0为正数) 3.然后求反码(除符号位 其他取反就可以) 4.最后求
补码
即在反码最低位加1 例如:-5的
补码
1.首先绝对值二进制为0000 0101 2.符号位变1 即1000 0101 3.取反码 即1111 1010 4.
补码
为1111 1011 强调一点 -128的
补码
就是
VC.NET
7,540
社区成员
27,673
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章