2013-08-02 83 views

回答

4

使用 long long

在IA32體系結構,64位整數(long long)使用兩個32位寄存器(EAX和EDX)來實現。

+0

,它真的很好的答案。我喜歡你解釋上下文的方式。你可以舉一些使用兩個32位寄存器來產生64位整數的例子。 –

+0

@SrinivasThanneeru請參閱http://stackoverflow.com/questions/3072444/long-long-int-on-32-bit-machines –

+1

@SrinivasThanneeru:你不需要;編譯器會爲你做。 – Clifford

3

無論架構如何,long long數據類型通常都是64位。

編輯:關於您的筆記,AMD和Intel處理器使用相同的指令集架構。所以,是的,在英特爾芯片上編譯的程序應該在AMD芯片上運行。 (我假設你正在談論桌面CPU。)

+5

我可能是錯的,但嚴格地說'long long'*至少是* 64位。我會使用''中的'int64_t'。 –

+0

int64_t的typedef是什麼?我認爲C標準只說int zztops

+0

@zztops是的,我問的是桌面cpus。你說什麼令人印象深刻,現在讓我知道如果他們使用不同的指令集拱? –

相關問題