关于类型长或其他类型的一些疑问

时间:2014-03-20 13:43:47

标签: c++

1。  是否可以显示intfloatlong等内容? 我的意思是例如: int是8B。它包含64位。所以,我想改变第二位,例如。

例如: int a = 64; 我想更改位并在控制台中观看它: 000000000000....01000001

2。 如果intlong之间有任何差异(最终byte)预期长度?

2 个答案:

答案 0 :(得分:1)

对于您的第一个问题,只需使用std::bitset并将其流式传输到std::cout。类似的东西:

int a = 64;
std::bitset<sizeof(int) * 8> x(a);
std::cout << x;

对于您的第二个,long由标准保证不小于int,并且它们都是整数类型。

答案 1 :(得分:1)

我真的不明白第一个问题,但对于第二个问题,保证sizeof(char)为1和sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)