小编Ent*_*ing的帖子

过程式语言和函数式语言之间的区别?

我最近在一次采访中被问到这个问题。我无法得到正确的答案。

当您使用相同的参数重复调用过程语言(如 C)和函数语言(如 haskell)中的函数时,您可能会得到不同的结果?我在[this](过程式编程和函数式编程之间有什么区别?)帖子中读到,纯函数式语言总是会产生相同的答案。为什么函数式语言会出现这种情况,而过程式语言则不然?

c procedural haskell functional-programming

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

&和|的原因 在结束转换

/ Swap endian (big to little) or (little to big)
uint32_t num = 9;
uint32_t b0,b1,b2,b3;
uint32_t res;

b0 = (num & 0x000000ff) << 24u;
b1 = (num & 0x0000ff00) << 8u;
b2 = (num & 0x00ff0000) >> 8u;
b3 = (num & 0xff000000) >> 24u;
res = b0 | b1 | b2 | b3;
Run Code Online (Sandbox Code Playgroud)

我从Convert Little Endian发布到Big Endian的答案中得到了这段代码

我理解上面的步骤交换字节从小端转换为大端.为什么"&"与(0x0000FF00,....)对于每一步的b0,b1,..和"|" 到底为了结果呢?有人可以解释这些可以帮助我理解endianess之间转换的疑问.

c

0
推荐指数
1
解决办法
220
查看次数

标签 统计

c ×2

functional-programming ×1

haskell ×1

procedural ×1