我在我的服务器上安装了一个MongoDB数据库.我的服务器是32Bit,我不能很快改变它.
当你在32Bit架构中使用MongoDB时,你的数据限制为2,5Go,正如MongoDB博客文章中所提到的那样.
问题是我有几个数据库.那么我怎么知道我是否接近这个限制呢?
由于JavaFX仅适用于64位Linux和64位OS X(因为Java的新版本尚未以32位发布),我很好奇JavaFX是否能够在32位工作-bit Windows.有什么想法吗?
谢谢!
我的系统是Centos 5.8 64位,我想编译一个链接32位库的文件.我在编译时添加-m32,但结果显示"输入文件`gc_basic_call_model_voice_voice_video_3g_cnf_nbup.o'的i386:x86-64架构与i386输出不兼容".看来该文件无法在32位上编译.但是如果我不添加-m32,则无法编译库.如何成功编译文件,谢谢!
正如我在许多问题中解释的那样,我正在尝试将软件从32位系统转移到64位系统.我对malloc()函数有一些问题,但现在我通过更正参数来解决它.
在我的代码的那部分,如果我在32位系统上运行,我可以使用:
(int**)malloc(const*sizeof(int))
但是,在64位系统上,我必须使用:
(int**)malloc(const*sizeof(int64_t))
我想用if()条件管理这些十字路口,所以我需要一个boolean isIt64system()函数,它的行为方式如下:
if(isIt64system())然后[64位代码]
否[32位代码]
这个函数是否存在于C++中?是否有任何功能告诉我软件是在32位系统还是64位系统上运行?
考虑这个功能:
unsigned hash(char *s)
{
char *p;
unsigned hashval;
for(p = s; *p; p++)
hashval = *p + 31 * hashval;
return hashval;
}
Run Code Online (Sandbox Code Playgroud)
如何测量s将返回错误结果的字节数,例如溢出?我在32位平台上.
有没有一种在32 x86机器上使用64位整数的快速方法(在c(添加:和c ++)语言编译器中)?
32位x86在某种程度上支持64位操作(旧mmx中有一些movq指令,可能还有其他一些命令),但如何从c中使用它?
如果有人想在32位x86机器上使用64位int算术怎么办 - 如何最简单有效地完成?
//编辑
到现在为止我找到了一些候选人
uint64_t A;
long long a;
int64 a;
__int64 a;
Run Code Online (Sandbox Code Playgroud)
应该用什么?是否有可能某些上述关节炎的实施比其他更好/更快?
现在的处理器大多是 32 位或 64 位。这意味着它们处理的指令具有这个大小。
我们经常听说 32 位操作系统的 RAM 限制为 4GB=(2^32 位),因为 RAM 地址的长度需要保存在 32 位内。
但事实上,当我们查看指令的外观时,您通常需要不到 32 位来加载一个字。
以 x86mov指令为例,您有一个操作码、一个源地址和一个目标地址。
我的问题是,我们如何才能从 32 位长的地址加载某些内容?
我们是否总是需要在内存中某个位置有一个指向该地址的指针,该位置具有可在指令中使用的较小地址?
谢谢
我正在运行PHP 5.3.13并且当我执行时
php -r "echo intval(9999999999);"
Run Code Online (Sandbox Code Playgroud)
它输出1410065407.
当我执行
php -r "echo intval(PHP_INT_MAX);"
Run Code Online (Sandbox Code Playgroud)
它输出2147483647.
较小的整数导致我的代码出现问题.为什么不同?
我原来的作业问题是这样的:
编写一个程序,使用下面的变量和 MOV 指令将值从 bigEndian 复制到 littleEndian,颠倒字节的顺序。该数字的 32 位值被理解为 12345678 十六进制。
Run Code Online (Sandbox Code Playgroud).data bigEndian BYTE 12h, 34h, 56h, 78h littleEndian DWORD?
我认为我的代码是正确的,但我不明白为什么我会收到这个错误。这是我的代码和错误:
.386
.model flat, stdcall
.stack 4096
ExitProcess PROTO, dwExitCode:DWORD
.data
bigEndian BYTE 12h, 34h, 56h, 78h
littleEndian DWORD ?
.code
main PROC
mov eax, DWORD PTR bigEndian; eax = 87654321h
mov littleEndian, eax
invoke ExitProcess, 0
main ENDP
END main
Run Code Online (Sandbox Code Playgroud)
1>------ 构建开始:项目:BigEndianLittleEndian,配置:调试 Win32 ------
1> 组装 BigEndiantoLittleEndian.asm...
1>BigEndiantoLittleEndian.asm(20): error A2008: 语法错误
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\masm.targets(50,5):错误MSB3721:命令“ml.exe /c /nologo /Zi / Fo"Debug\BigEndiantoLittleEndian.obj" …
我已经在大学里学习了8086英特尔处理器的汇编编程.我现在正试图修改它.
我听说汽车嵌入式系统需要汇编,所以我想知道哪种方式可以学习它是最好的?我不需要浪费时间,因为我想找份工作.
修改8086大会真的有帮助吗?或者转向32位x86组件更好?
谢谢.
我需要将数字N除以另一个数字D,两者都大于我的字长,即32位
目前,我正在使用以下算法:http : //justinparrtech.com/JustinParr-Tech/an-algorithm-for-arbitrary-precision-integer-division/
我正在为RISC-V ISA实施我的解决方案
但是在第三步when时Q = N / A,我不知道该余数也是32位数字时该怎么做,因为通常我会将这个余数用于下一个单词的除法,但是如果它是注册它不可能考虑到的。
我一直在思考如何解决这个问题,但是我想出的每一个解决方案都不是最好的方法。
我试图更好地理解计算机中的浮点数。在阅读32位浮点数的过程中,我发现一般来说,32点浮点数的构造如下:
我对此有几个问题..
architecture floating-point precision 32-bit floating-accuracy
#include <stdio.h>
int main(){
printf("%d\t",sizeof(6.5));
printf("%d\t",sizeof(90000));
printf("%d\t",sizeof('a'));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我编译我的代码时,输出将是:"842".有人可以解释为什么我得到这个输出?