相关疑难解决方法(0)

什么平台有8位字符以外的东西?

不时有人在SO上指出char(也就是"字节")不一定是8位.

似乎8位char几乎是通用的.我原本认为,对于主流平台,必须有一个8位char才能确保其在市场上的可行性.

现在和历史上,哪些平台使用的char不是8位,为什么它们与"普通"8位不同?

在编写代码时,考虑跨平台支持(例如,对于通用库而言),对于非8位平台,值得考虑的是什么char

在过去,我遇到过一些char16位的ADI DSP .我认为DSP是一种利基架构.(然后,当时手工编写的汇编程序很容易击败可用的C编译器可以做的事情,所以我在该平台上没有真正获得C的经验.)

c c++ cross-platform

133
推荐指数
8
解决办法
2万
查看次数

如果32位整数溢出,我们可以使用40位结构而不是64位长结构吗?

例如,如果一个32位整数溢出,而不是升级intlong,如果我们需要一个仅在2 40之内的范围,我们可以使用一些40位类型,这样我们就可以节省24(64-40)位整数?

如果是这样,怎么样?

我必须处理数十亿和空间是一个更大的约束.

c c++ memory-management integer-overflow

76
推荐指数
10
解决办法
1万
查看次数

为什么所有数据类型都是2的幂?

为什么所有数据类型大小总是2的幂?

我们举两个例子:

short int 16
char 8
Run Code Online (Sandbox Code Playgroud)

他们为什么不跟随?

short int 12
Run Code Online (Sandbox Code Playgroud)

c++ programming-languages

7
推荐指数
1
解决办法
1420
查看次数

哪种C数据类型可以表示40位二进制数?

我需要表示一个40位的二进制数.应该使用哪种C数据类型来处理这个问题?

c binary

7
推荐指数
1
解决办法
2477
查看次数

如何将64位哈希值缩短到48位值?

我已经在库中有64位散列函数(C编码),但我只需要48位.我需要将64位散列值减少到48位值,但它必须以安全的方式才能最小化冲突.

散列函数是一个非常好的64位散列函数.它已经通过SMHasher("DieHarder"哈希测试)进行了测试,并且证明比Murmur2更好.根据我的同事们说,在lib中实现64位散列的算法是xxHash,用SMHasher测试并得到Q.Score为10!对于那些想要看到它的人,xxHash的源代码可以在github.com上找到:github.com/Cyan4973/xxHash/releases/latest.

基本思想是使64位散列值(或其中一部分)中的所有位对产生的48位散列值产生影响.有没有办法做到这一点?

[编辑后期]:
所以我实现了自己的48位(准)-UUID生成器.
请在此处查看完整的工作解决方案(包括源代码):https://stackoverflow.com/a/47895889/4731718.

c algorithm math hash uuid

2
推荐指数
1
解决办法
2283
查看次数

这个枚举的大小是多少,以字节为单位?C++

这个枚举的大小是多少,以字节为单位?C++

enum Cars { Toyota, Suzuki, Volkswa, Mitsubish, Alfarome, Holden, Bradleys };
Run Code Online (Sandbox Code Playgroud)

c++

-2
推荐指数
2
解决办法
1659
查看次数