问一个函数的问题

zhang1218st 2004-05-08 09:26:46
设计一个函数,使给出一个数的原码,能得到该书的补码
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cngdzhang 2004-05-08
  • 打赏
  • 举报
回复
好了:

#include <stdio.h>
#include <stdlib.h>


void main()
{
long n;
char buf[100];
printf("Please Enter a number:");
scanf("%ld",n);
ultoa(n,buf,2);
printf("原码:\n");
printf("%s\n",buf);
n=~n+1;
ultoa(n,buf,2);
printf("补码:\n");
printf("%s\n",buf);
}
freefalcon 2004-05-08
  • 打赏
  • 举报
回复
#include "stdio.h"

long neg(long a) // 如果long的宽度不是4,下面要做修改
{
if(a>=0)return a;
return (a^0x7fffffff) + 1;
}

void main()
{
printf("%08x\n", neg(0x00000001)); // +1
printf("%08x\n", neg(0x80000001)); // -1
printf("%08x\n", neg(0x00000000)); // +0
printf("%08x\n", neg(0x80000000)); // -0
}
saoyu 2004-05-08
  • 打赏
  • 举报
回复
正数补码等于原码
负数补码等于绝对值补码按位取反,然后加1
liushuaiboy 2004-05-08
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
to: freefalcon(心宇) ( )
如果是小数呢?
double类型没考虑到!
  • 打赏
  • 举报
回复
回复人: cngdzhang() ( ) 信誉:100

人家要的是“函数”啊

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧