Remix

是否可以在 Remix 中將數字顯示為十六進制?

  • March 17, 2021

我正在使用一個處理二進制數的定點數學庫,所以像 0x10000000000000000 這樣的值被假定為 1。

我實現了一個將給定數字提高到給定冪的函式。將 0x10000000000000000 提高到 2 的冪產生相同的數字:

混音字幕

我希望結果顯示為 0x10000000000000000 而不是 18446744073709551616,後者當然是前者轉換為十進制。我可以讓 Remix 顯示數字為十六進制嗎?

我的功能:

function doPow(int128 x, uint256 y) external pure returns (int128) {
   return ABDKMath64x64.pow(x, y);
}

根據@alberto 在評論中的建議,我將返回類型從int128to更改為bytes memory並重新編寫了我的函式,如下所示:

function doPow(int128 x, uint256 y) external pure returns (bytes memory) {
   int128 result = ABDKMath64x64.pow(x, y);
   bytes memory encodedResult = abi.encodePacked(result);
   return encodedResult;
}

現在結果顯示如下:

混音字幕

引用自:https://ethereum.stackexchange.com/questions/94788