在OS X c++上是char signed或unsigned

Is char signed or unsigned on OS X C++

本文关键字:signed unsigned char 上是 OS c++      更新时间:2023-10-16

OS x是char signed还是unsigned

我把下面的代码片段放在一起进行测试,但不知道如何确定?

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<<" signedn";

结果为:char is signed

我想知道如何找到这个没有一块技巧代码。

检查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;
}