标签:style io sp for div on 2014 问题 bs
/************************************************************************* > File Name: b.c > Author: 傻李 > Mail: hellojukay@gmail.com > Created Time: 2014年11月15日 星期六 20时01分35秒 ************************************************************************/ #include<string.h> #include<stdio.h> #include<math.h> int result[sizeof(int) * 8]; void translate(int a) { int c,i; int tmp;//保存目标的绝对值 tmp = abs(a); memset(result,0,sizeof(int) * 8); if(a == 0) { for(i = 0; i < sizeof(int) * 8; ++i) result[i] = 0; return ; } for(i = 0; i < sizeof(int) * 8 - 1; ++i) { result[i] = tmp % 2; tmp = tmp / 2; } //默认符号位0 result[i] = 0; //负数求补码过程 if(a < 0) { result[sizeof(int) * 8 - 1] = 1; for(i =0 ; i < sizeof(int) * 8 - 1;++i) { //除最高最位,按位取反 switch(result[i]) { case 1: result[i] = 0; break; case 0: result[i] = 1; break; } } //尾数加1 c = 1; for(i = 0; i < sizeof(int) && c != 0; ++i) { tmp = result[i];//此处tmp保存临时值 result[i] = result[i] ^ c; c = tmp & c; } } } int main() { int a; scanf("%d",&a); translate(a); int i; for(i = sizeof(int)*8 -1; i >= 0; --i) { printf("%d",result[i]); } return 0; }
标签:style io sp for div on 2014 问题 bs
原文地址:http://blog.csdn.net/u013163178/article/details/41151569