| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 465 人关注过本帖
标题:怎样输出整数的补码与原码
只看楼主 加入收藏
firewater
Rank: 1
等 级:新手上路
帖 子:47
专家分:4
注 册:2014-7-13
结帖率:87.5%
收藏
已结贴  问题点数:5 回复次数:2 
怎样输出整数的补码与原码
怎样输出整数的补码与原码??
2015-05-17 22:22
取名字
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:236
专家分:924
注 册:2015-4-27
收藏
得分:5 
在C语言中可以以“%X”的格式将整数用十六进制的格式输出,从十六进制格式中就可以看到这个整数的补码,因为在计算机中数据都是以二进制的补码形式存储的。正数的补码和原码是一样的,负数的补码是其绝对值的所有二进制位取反再加1。
2015-05-17 23:59
firewater
Rank: 1
等 级:新手上路
帖 子:47
专家分:4
注 册:2014-7-13
收藏
得分:0 
回复 2楼 取名字
我找到了那个函数  用_itoa()这个函数可以输出对应的进制,不过还是谢谢你
函数原型是这个
char*_itoa(intvalue,char*string,intradix);


程序代码:
value-----要转换的整形值
string-----转换后的字符串
radix------表示基数(2, 8, 10, 16)等进制基数
本函数与char * itoa(int, char *, int);相同
还有其他类似的转换函数
char *_i64toa(__int64value,char*string,intradix);
char*_ui64toa(unsigned_int64value,char*string,intradix);
wchar_t*_itow(intvalue,wchar_t*string,intradix);
wchar_t*_i64tow(__int64value,wchar_t*string,intradix);
wchar_t*_ui64tow(unsigned __int64value,wchar_t*string,intradix);
后三个为转换宽字符
eg:
#include <stdlib.h>
#include <stdio.h>
void main( void )
{
char buffer[20];
int i = 3445;
long l = -344115L;
unsigned long ul = 1234567890UL;
_itoa( i, buffer, 10 );
printf( "String of integer %d (radix 10): %s\n", i, buffer );
_itoa( i, buffer, 16 );
printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
_itoa( i, buffer, 2 );
printf( "String of integer %d (radix 2): %s\n", i, buffer );
_ltoa( l, buffer, 16 );
printf( "String of long int %ld (radix 16): 0x%s\n", l,
buffer );
_ultoa( ul, buffer, 16 );
printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul,
buffer );
}
output:
String of integer 3445 (radix 10): 3445
String of integer 3445 (radix 16): 0xd75
String of integer 3445 (radix 2): 110101110101
String of long int -344115 (radix 16): 0xfffabfcd
String of unsigned long 1234567890 (radix 16): 0x499602d2
说明:例题来自MSDN 2002
2015-05-19 13:12
快速回复:怎样输出整数的补码与原码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026862 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved