[英]How this uint accept Address value in this smart contract?
誰能解釋一下 uint 變量如何在這個智能合約中接受地址
// SPDX 許可證標識符:Apache-2.0。 pragma solidity ^0.6.12;
庫 CairoConstants { uint256 公共常量 FIELD_PRIME = 0x80000000000001100000000000000000000000000000000000000000000000001; }
根據我的知識 Uint Only accept unsigned integer values 所以為什么在編譯時它不會拋出錯誤消息
請消除我的疑問
謝謝
大家好,
誰能解釋一下 uint 變量如何在這個智能合約中接受地址
// SPDX 許可證標識符:Apache-2.0。 pragma solidity ^0.6.12;
庫 CairoConstants { uint256 公共常量 FIELD_PRIME = 0x80000000000001100000000000000000000000000000000000000000000000001; }
根據我的知識 Uint Only accept unsigned integer values 所以為什么在編譯時它不會拋出錯誤消息
請消除我的疑問
謝謝
如果給定的十六進制值的大小是 20 字節,編譯器認為它是一個地址,否則,它認為它是一個數字。 因此,如果您使用0x8000000000000110000000000000000000000000
,它可能會引發錯誤,因為它是一個地址,但在您的代碼中,給定值不是地址。 此外,如果值的長度是 39 或 41 個十六進制數字,它也會拋出錯誤,因為編譯器認為它看起來像一個地址,但存在拼寫錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.