为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输入"FFFFFFFF"会输出-1?求解答

为什么输入"FFFFFFFF"会输出-1?求解答

C++
员员 2017-04-02 22:00:07
#include <iostream>#include<string.h>#include<math.h>using namespace std;//十六进制转化为十进制 int main(int argc, char** argv) { char c[8]; int arr[8];     //arr存基数  gets(c);  int len = strlen(c);  for(int k = 0;k < len;k++ ){   switch(c[k]){    case 'A':     arr[k] = 10;     break;    case 'B':     arr[k] = 11;     break;    case 'C':     arr[k] = 12;     break;   case 'D':      arr[k] = 13;     break;   case 'E':     arr[k] = 14;     break;   case 'F':     arr[k] = 15;     break;   default:   arr[k] = c[k] - '0';   }  }long  long  int sum = 0;     //sum保存最终结果  for(int g = 0;g < len;g++ ){ int a = pow(16,len-g-1); sum = sum + arr[g]*a; }  cout << sum <<endl; return 0;}
查看完整描述

1 回答

?
asd8532

TA贡献143条经验 获得超187个赞

-1的十六进制表示就是FFFFFFFF

查看完整回答
2 反对 回复 2017-04-04
  • 1 回答
  • 0 关注
  • 2945 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信