原来 MSVC 已经提供 128bit 整型的支持了

2022-11-08 17:12:49 +08:00
 cnbatch
今天摸鱼时闲逛 Visual Studio 的 Developer Community ,发现一个连续讨论了两年的帖子,是微软内部员工要求 MSVC 支持 128bit 版本的整数类型:
https://developercommunity.visualstudio.com/t/support-for-128-bit-integer-type/879048
这个讨论持续到上周还有人回帖,所以我才比较容易地发现

微软内部员工的理由是,GCC 和 Clang 都支持,那么 MSVC 没道理不支持,支持了就很方便。他们显然想用已久。

终于,微软自家员工就在今年 2 月份完成了 128bit 整数类型的头文件,8 月份在第三方用户的帮助下弄成了 C++14 也能用。头文件就在这里:
https://github.com/microsoft/STL/blob/main/stl/inc/__msvc_int128.hpp

顺手搜了下 stackoverflow ,发现原来十年前就已经有人想在 MSVC 里面用 128bit 整数类型。

有趣的是,反对添加 128bit 整数类型的回帖者都不是微软员工。毫无意外地,他们的回帖都被狂踩。

讨论贴内还有人提到乐见 C# 也能支持 128bit 整型,我搜了下,还真的有,虽然不是正式版( dotNet 7 RC1 ):
https://learn.microsoft.com/en-us/dotnet/api/system.int128
2174 次点击
所在节点    C++
3 条回复
pocarisweat
2022-11-08 18:14:34 +08:00
x86 没有 add/sub/mul with carry 的指令吗?一些平台除了 div 不行,其他都可以用数条原生指令实现
cxxnullptr
2022-11-09 08:46:13 +08:00
啥时候能把 float16 给支持了
VVsxmja
2022-11-09 11:19:54 +08:00
@pocarisweat 有的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/893626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX