OS X上是否签名或未签名。
我将以下代码段放在一起进行测试,但是想知道如何确定?
char a(0x80); //fill most sig bit
unsigned char b(0x80); //fill most sig bit
cout<<"char ";
(a==b)? cout<<"is not" : cout<<"is"; //compare most sig bits in diff't chars
cout<<" signed\n";
结果是:char is signed
我想知道如何在没有特效代码的情况下找到它。
答案 0 :(得分:1)
检查std::numeric_limits<char>::is_signed
#include <iostream>
#include <limits>
int main() {
std::cout << "char "
<< (std::numeric_limits<char>::is_signed ? "is" : "is not")
<< " signed.\n";
return 0;
}