相关疑难解决方法(0)

是否可以在C中访问32位寄存器?

是否可以在C中访问32位寄存器?如果是的话,怎么样?如果没有,那么有没有办法在C中嵌入汇编代码?顺便说一下,我正在使用MinGW编译器.提前致谢!

c assembly mingw inline-assembly cpu-registers

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

Fortran中的高效单比特否定

我正在编写性能密集型Fortran代码,其核心是无矩阵矩阵乘法子程序mfmult(x,y),它接受输入向量x,并返回输出向量y,如果i = i_ {n -1} i_ {n-2} ... i_2i_1i_0是一个n位二进制数(可能带有前导零),然后

y(i)= sum {x(j):j是i的任何1位否定}

y(000) = x(001)+x(010)+x(100)
y(1101) = x(0101)+x(1001)+x(1111) + x(1100) etc.
Run Code Online (Sandbox Code Playgroud)

实现这一目标的有效方法是什么?一个相关的问题是:Fortran中是否存在快速内在的单位否定?我已经看过内在函数和https://rosettacode.org/wiki/Bitwise_operations#Fortran,但是没有单位否定操作,我担心任何手动编码/分支语句都会使事情变得太慢.

binary fortran bit

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

标签 统计

assembly ×1

binary ×1

bit ×1

c ×1

cpu-registers ×1

fortran ×1

inline-assembly ×1

mingw ×1