负数十进制转二进制

负数十进制转二进制
三布
(1)先将十进制转为二进制数:
例:(-10)10=(00000110)2 带符号
(2)将二进制数取反:
取反得11111001
(3)将取得得反码加一:
得:11111010;
即(-10)10=(11111010)2
根据系统,如果int占32位得话需要补齐位数空位全部为0.

#include"iostream"
using namespace std;
main()
{ unsigned u=10;
  int i=-42;
  cout<<i+i<<endl;
  cout<<u+i<<endl;
  return 0;
}
输出:-84
     4294967264

猜你喜欢

转载自blog.csdn.net/zhaoyanfeizhi/article/details/68486106