解题思路: 首位是符号位 1为负数 0为整数
负数补码为反码加一 整数补码为原码
注意事项:字符串存储
参考代码:
#include<iostream> using namespace std; int main(void) { string a; cin>>a; if(a[0]=='1') //判断是否为负数 { for(int i=1;i<16;i++) //变为反码 if(a[i]=='1') a[i]='0'; else a[i]='1'; for(int i=15;i>=1;i--) //给最后一位+1,因为是二进制 所以0变成1,1变成0并向前进位 if(a[i]=='1') a[i]='0'; else { a[i]='1'; break; } } cout<<a<<endl; return 0; }
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:656 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1121 |
简单的a+b (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:542 |
循环入门练习5 (C语言代码)浏览:839 |
局部变量作函数返回值的问题浏览:981 |
1052题解(链表操作)浏览:674 |
母牛的故事 (C语言代码)浏览:570 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:458 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:610 |