十六进制值的前缀为0x
Prefixing hex value with 0x
我正在查询OpenGL中的GL_TYPE,它将十六进制值报告为整数,因为它应该。
例如:0x1406是#定义为GL_FLOAT,但正在从OpenGL以整数形式作为5126给我。
不幸的是,OpenGL不只是返回类型,它也不只是接受整数(读:十六进制)值。它显然需要在使用前加上0x前缀。
我试图为自己节省一个开关/情况,而不是转换/转换在飞行中,但我没有看到其他的方法。我还有别的选择吗?
不清楚您心目中的"转换"类型:0x1406 = 5126。它们只是在源代码中写同一个数字的不同方式,编译器将它们都翻译成运行时使用的二进制形式。
您应该能够使用==
运算符将glGetProgramResource
的结果与GL_FLOAT
之类的常量进行比较,而不管该常量在源代码中是否定义为0x1406或5126。
相关文章:
- 编译器如何在前缀和 postix 运算符之间进行区分?
- 查找带有 Anaconda cmake 前缀的 boost-python3
- 迭代器类的重载前缀增量运算符会引发分段错误
- 如何在友元函数中使用静态成员而不添加前缀 [类名]::
- 生成前缀位掩码
- 定义宏以将前缀 0x 添加到十六进制字符串文本
- CMake 错误 - 目标 foo INTERFACE_SOURCES属性包含在源目录中以前缀为前缀的路径
- 如何在自定义对象的<<运算符中添加自定义前缀
- 0x%08lx 格式说明符在 printf 语句到 cout
- 高效的字符串截断算法,按顺序删除相等的前缀和后缀
- 以C++显示单词的所有前缀
- QXmlStreamWriter,命名空间和前缀
- 为什么 C++ 程序员更喜欢前缀 ++,而 Java 程序员更喜欢后缀 ++?
- 为什么 libclang 会错误解析带有 .h 前缀C++标头?
- 目标是找到两个 c 字符串之间的公共前缀(必须使用特定的函数标头)
- 我需要在C++的两个字符串之间找到共同的前缀
- 更新 Visual Studio 2017,现在出现编译错误 C7510:"回调":使用依赖模板名称必须以 'template' 为前缀
- 将单个字符转换为 std::string 前缀 \x01
- 如果我有很多具有相似前缀的字符串,是否有理由从该前缀创建一个子字符串?
- 十六进制值的前缀为0x