我想一个64位的整数类型划分为32个比特之一,我使用RVDS 4.1作为工具链。
的Cortex-M0没有硬件除数,所以我可以做下面的操作? 如果是这样如何?
unsigned long int b = 2590202;
unsigned long long int a = 953502716552001ULL;
unsigned long long int result;
result = a/b;
我想一个64位的整数类型划分为32个比特之一,我使用RVDS 4.1作为工具链。
的Cortex-M0没有硬件除数,所以我可以做下面的操作? 如果是这样如何?
unsigned long int b = 2590202;
unsigned long long int a = 953502716552001ULL;
unsigned long long int result;
result = a/b;
编译器将编译除法运算来执行软件的64位除法库子程序调用。 您可能还告诉编译器与数学库的链接,我有专门RVDS没有经验。
为什么不尝试自己编译的代码,看看会发生什么? 尝试拆卸造成的机器代码,看看它是如何工作的:它应该是很有教育意义。