瀏覽單個文章
拿破崙波拿巴
*停權中*
 
拿破崙波拿巴的大頭照
 

加入日期: Dec 2018
文章: 53
引用:
作者HHeLiBeBCNOFNe
64bit整數運算的暫存器寬度也才64bit,
除非用上sse2(還是無法直接使用)、avx指令,暫存器寬度才有到128bit以上,
不然就得用軟體模擬把它拆分成兩個64bit才能做運算,
實際運用上根本少之又少,
就算是一般的科學運算也很少用上這麼長的整數運算,
都是直接用有些許誤差值的浮點運算,限制還不會有這麼大...

既然128bit的整數運算用途有限,
自然而然不會有計算機的程式去寫出128bit的整數運算功能,
這也就是為什麼現階段的處理器都卡在64bit,
畢竟64bit的整數對於人類來說是天文數字.....


是不是像這樣

代碼:
int main(void)
{
    __uint128_t where = 0x3333333333333333 * 0x5555555555555555;

    // 列印後半段 [63:0]
    uint64_t DSTR = where & 0xFFFFFFFFFFFFFFFF;
    printf("DESTR = %llx\n", DSTR);

    // 列印前半段 [127:64]
    uint64_t DSTL = where >> 64;
    printf("DESTL = %llx\n", DSTL);


    return 0;
}


舊 2019-03-02, 06:52 PM #8
回應時引用此文章
拿破崙波拿巴離線中