在OS X c++上是char signed或unsigned
Is char signed or unsigned on OS X C++
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;
}
相关文章:
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- <Windows>为什么 std::thread::native_handle 返回类型为"long long unsigned int"的值,而不是 void*(又名 HANDLE)?
- 错误:隐式转换更改符号:'int'到'unsigned long'
- 如何使用多次 memcpy 转换回 std::vector<unsigned char>?
- 定义 uint= "unsigned int" 没有像我在 Visual Studio 中使用 nvcc 时预期的那样应用
- static_cast<unsigned>(签名)与标准::bit_cast<unsigned>(签名)之间有区别吗?
- 对 '(const Y) (int&, std::mersenne_twister_engine<long unsigned int,
- 使用函数时出现"'<' signed/unsigned mismatch "错误
- 你什么时候会使用"signed char"而不是"unsigned char"?
- unsigned int/signed int/long-long:无法解释的输出
- "unsigned"可以使用哪些类型?什么时候需要"signed"?
- 对'icu_56::UnicodeString::UnicodeString(signed char, unsigned short const*, int)' 的未定义引用
- unsigned short和signed short比较wierd行为
- 内存的字节读取:"signed char *" vs "unsigned char *"
- 在unsigned int和signed int之间进行安全转换
- Visual C++ 2010:如果我将"const"添加到一个比较中,为什么"signed/unsigned mismatch"消失了?
- c++将unsigned转换为signed
- 如何处理"signed/unsigned mismatch"警告 (C4018)?
- 在OS X c++上是char signed或unsigned