b***i 发帖数: 3043 | 1 怎么看到这段代码。有人说,nHeight是32位的,所以到了一定时候就变负数了。右移
负数位应该就不移动吧。这样,多少年后,比特币又重新增发了。
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210000 blocks, which will occur
approximately every 4 years
nSubsidy >>= (nHeight / 210000);
return nSubsidy + nFees;
} | b***i 发帖数: 3043 | 2 2^31 / 210000 = 409.
就是说,409年之后,右移次数为负数,是这样吗?
【在 b***i 的大作中提到】 : 怎么看到这段代码。有人说,nHeight是32位的,所以到了一定时候就变负数了。右移 : 负数位应该就不移动吧。这样,多少年后,比特币又重新增发了。 : int64 static GetBlockValue(int nHeight, int64 nFees) : { : int64 nSubsidy = 50 * COIN; : // Subsidy is cut in half every 210000 blocks, which will occur : approximately every 4 years : nSubsidy >>= (nHeight / 210000); : return nSubsidy + nFees; : }
| s****6 发帖数: 122 | 3 "nSubsidy >>= nHeight/210000);" 會變成零, 如果 'nHeight/210000'大於63 或者小
於零.
他說四年減半, 就是63 * 4 = 252 年變零. 或者 'nHeight'是 63 * 210000 = 13,230
,000 |
|