c - 无符号 __int128 文字 GCC
问题描述
我有一个功能foo(unsigned __int128)
。如何将类型的文字传递unsigned __int128
给函数?我的尝试:
foo(0xFFFFFFFFFFFFFF23FFFFF); //Truncated (expected)
foo(0xFFFFFFFFFFFFFFF01FFFu); //Truncated (expected)
foo(0xFFFFFFFFFFFFFFF23FFFFull); //Truncated
foo((unsigned __int128)0xFF45FFFFFFFFFFFFFFFFFull); //Truncated
如您所见,它们都被截断了。我如何向 GCC 发出信号,表明文字是unsigned __int128
?
编辑: gcc 手册说:
GCC 不支持为具有小于 128 位宽的 long long 整数的目标表示 __int128 类型的整数常量
这是否意味着我不能编写(无符号)__int128 类型的文字?
有替代品吗?
解决方案
来自https://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html
6.9 128 位整数
作为扩展,整数标量类型 __int128 支持具有足够宽以容纳 128 位的整数模式的目标。只需将 __int128 用于有符号 128 位整数,或将无符号 __int128 用于无符号 128 位整数。GCC 不支持为具有小于 128 位宽的 long long 整数的目标表示 __int128 类型的整数常量。
所以,不,你不能有一个文字 128 位常量
推荐阅读
- python - 如何以调试模式启动服务器 - Pycharm
- c++ - 在 Ubuntu 中根据设备 PID 和 VID 查找 USB 端口
- ios - 如何让 iOS 应用程序在 Swift 中每隔一分钟在后台运行?
- javascript - 使用 Nodejs 创建/更新 JavaScript 文件/代码
- python - 如何通过python修复抓取的url数据的正则表达式表单?
- json - Angular / ng2-charts:在图表对象中获取json数据显示:无法读取未定义的属性“长度”
- angular - 数组值被最新值 angular 7 覆盖
- r - 带有长度函数的 if 语句
- python - Python将时间间隔划分为每小时的桶
- docker - 我有 dockerVolume,它有一个 json 文件。我希望使用一些 docker 命令或运行 shell 脚本来打印 json