在C++中,您可以使用int通常为4个字节的数据.甲long long整数通常是8个字节.如果cpu是32位,那不会将它限制为32位数吗?long long如果它不支持64位,我怎么能使用整数?alu可以添加更大的整数或其他东西吗?
我正在尝试获取浮点数的尾数(只是为了学习),但它没有按预期工作.

说5.3的尾数是53,对吗?我试过这段代码:
System.out.println(Float.floatToIntBits(5.3f) & 0x7FFFFF);
Run Code Online (Sandbox Code Playgroud)
它印了2726298.它不应该删除指数位并留下53?我尝试了很多东西,但总会发生这种情况.我在这做错了什么?
在计算机中分配内存时,如何知道哪些字节已被占用且无法覆盖?
因此,如果这些是未使用的某些内存字节:
[0|0|0|0]
Run Code Online (Sandbox Code Playgroud)
计算机如何知道它们是否存在?它们可能只是一个等于零的整数.或者它可能是空记忆.怎么知道的?
首先,我在具有最新mingw版本的Windows上使用代码块。我正在使用sfml库开始游戏,但不幸的是我遇到了这个问题。我需要为状态管理器使用std :: function,但它始终显示相同的错误:尚未声明'std :: function'。我确实#include<functional>使用了链接器选项-std = c ++ 0x,但还是没有运气。唯一无法编译的是此标头:
#ifndef STATEMANAGER_HPP_INCLUDED
#define STATEMANAGER_HPP_INCLUDED
#include <vector>
#include "State.hpp"
#include <functional>
#include <SFML/Graphics.hpp>
class StateManager {
public:
StateManager();
~StateManager();
void registerState(int id, std::function< State*() > createFunc);
void setState(int id);
void update();
void draw(sf::RenderTarget &target);
private:
std::vector< std::function< State*() > > mStates;
State *mCurrentState;
};
#endif // STATEMANAGER_HPP_INCLUDED
Run Code Online (Sandbox Code Playgroud)
我不知道是什么问题。有人知道这里有什么问题吗?