PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   有沒有 128-bit 的計算機程式 (https://www.pcdvd.com.tw/showthread.php?t=1158223)

拿破崙波拿巴 2019-02-18 11:42 AM

有沒有 128-bit 的計算機程式
 
小算盤那類的 可以計算顯示範圍是 128-bit
例如 可以計算顯示出 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 範圍的應用程式

Windows 或者 Linux 的都可以 :cool:

oversky. 2019-02-18 12:49 PM

https://web2.0calc.com/

可以算到 199!

這個好像沒有 Hex, 如果只是要算大數字的可以看看。

拿破崙波拿巴 2019-02-18 02:40 PM

引用:
作者oversky.
https://web2.0calc.com/

可以算到 199!

這個好像沒有 Hex, 如果只是要算大數字的可以看看。


我需要有 HEX 的 最好還有二進位的 :think:

冰的啦魔王大人 2019-02-20 01:01 AM

你可以自己寫一個啊。
:)


腦袋太久沒用會壞掉的.


:laugh:

mhp1120 2019-02-20 01:33 PM

Win10小算盤有"工程"及"程式設計人員"模式(後者有Hex、WORD、DWORD、QWORD、BYTE,以及二進位值預覽),但我是不會寫程式,所以不知道這是否合乎樓主的要求!? :rolleyes:

u3350829 2019-02-20 02:52 PM

引用:
作者mhp1120
Win10小算盤有"工程"及"程式設計人員"模式(後者有Hex、WORD、DWORD、QWORD、BYTE,以及二進位值預覽),但我是不會寫程式,所以不知道這是否合乎樓主的要求!? :rolleyes:


不合...因為樓主要求的是128bit這種天文數字,
一般程式用上64bit變數已經是極限,他需求的
需要特別寫的大數運算才行,而且還要是BIN
表示方式的計算機...
-------------------------
只是有這種需求的通常是學校的程式作業之類....
因為實際工作或數學運算少有需要這麼大數字的,
建議自己找網路上大數運算的相關source然後自己
修改轉換BIN的部份,可以參考的很多應該不會太難.

HHeLiBeBCNOFNe 2019-02-23 09:38 AM

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

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

拿破崙波拿巴 2019-03-02 06:52 PM

引用:
作者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;
}


:laugh: :laugh:

oversky. 2019-03-02 07:13 PM

這個應該可以。要二進位就改成 base 2

https://www.wolframalpha.com/input/...E128+to+base+16


所有的時間均為GMT +8。 現在的時間是09:19 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2024。