我正在尝试将存储为4个无符号整数的数组的128位无符号整数转换为C中的十进制字符串表示:
unsigned int src[] = { 0x12345678, 0x90abcdef, 0xfedcba90, 0x8765421 };
printf("%s", some_func(src)); // gives "53072739890371098123344"
Run Code Online (Sandbox Code Playgroud)
(上面的输入和输出示例完全是虚构的;我不知道输入会产生什么.)
如果我要使用十六进制,二进制或八进制,这将是一个简单的掩码和位移到剥离最不重要的字符.但是,在我看来,我需要做基数为10的分裂.不幸的是,我不记得如何跨多个int执行此操作,并且我使用的系统不支持大于32位的数据类型,因此使用128位类型是不可能的.使用不同的语言也是不对的,我宁愿为这一个操作避免使用大数字库.
在源代码管理系统中包含编译器,库和其他工具有哪些建议?
在过去,我遇到了一些问题,尽管我们拥有所有的源代码,但构建旧版本的产品却是一个试图获得Visual Studio,InstallShield和其他工具的正确配置(包括用于构建产品的正确补丁版本.在我的下一个项目中,我想通过将这些构建工具检查到源代码控制中来避免这种情况,然后使用它们进行构建.这也简化了设置新构建机器的工作 - 1)安装我们的源代码控制工具,2)指向正确的分支,3)构建 - 就是这样.
我考虑的选项包括:
这似乎是配置管理的一个基本概念,但我无法追踪任何资源以了解如何执行此操作.有什么建议?