现在的位置: 首页 > 综合 > 正文

C语言学习笔记(23补码)

2014年03月02日 ⁄ 综合 ⁄ 共 350字 ⁄ 字号 评论关闭

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	int i=-3;//4个字节(32位:4*8位)
	printf("%#X",i);//以16进制输出.输出结果是:0XFFFFFFFD请按任意键继续. . .
	printf("%X",i);//输出结果是:FFFFFFFD请按任意键继续. . .
	system("pause");
	return 0;
	/*
	计算机种的数据是以二进制存储的
	求负整数的二进制:
	(3)10=(011)2
	(前面补29个"1"101)2【负数前面补1】
	*/
}

注意:将一个负数二进制转换成十进制的问题:

           一定要先将负数二进制前面的位数用1补齐,如果不把位数补齐的话,计算机会默认补0,这样这个负数二进制就会变成正的二进制,这样会导致程序错误。


抱歉!评论已关闭.