6 ms·
why add the complexity of bcd when you can just put in it units (e.g. cents) where there's no decimal point?
by iamds 3y ago
why add the complexity of bcd when you can just put in it units (e.g. cents) where there's no decimal point?
- 8organicbits 3y agoWhat do you do if heavy deflation causes the government to release a $0.001 coin? A cent isn't a fundamental unit. Edit: as another hypothetical, what if the $0.001 coin is released to support micropayment use cases?
- jl6 3y agoWorth noting that hyperdeflation has never happened, which is kind of interesting because it theoretically could.
- kybernetikos 3y agoI believe that economists generally think that a small amount of inflation is good for the economy, and that deflation is bad (because it leads to reductions in spending and investment, potentially causing a vicious circle). It's also relatively easy to counteract - just print more. In order for hyperdeflation to occur you'd need a currency where the issuing body didn't believe deflation was bad, or didn't care.
- kemotep 3y agoBitcoin has a hyper deflationary monetary policy hard coded in.
- deleted 3y ago[deleted]
- Sohcahtoa82 3y agoYup, and as a result, nobody wants to actually treat it as the digital currency that it was originally set out to be. Anybody who truly thinks Bitcoin could hit $100K value certainly doesn't want to spend them.
- u320 3y agoIt's not really symmetric. It's not hard to imagine a situation where everyone stops believing something (a currency) is not worth anything anymore. But why would somebody believe that nothing except currency is not worth anything?
- throwaway10965 3y agoNot sure what exactly you call hyperdeflation, but something like that has occurred in communist Czechoslovakia in 1953. https://cs.wikipedia.org/wiki/%C4%8Ceskoslovensk%C3%A1_m%C4%9Bnov%C3%A1_reforma_(1953) https://cs.wikipedia.org/wiki/%C4%8Ceskoslovensk%C3%A1_m%C4%...
- dahfizz 3y agoThese systems use something like 10^-8 as the implied decimal in the real world. Some forex exchanges even go to 10^-9
- out_of_protocol 3y agoFiat currency can go to -4 i think, crypto currency going to -18. And that's whole units like cents P.S. crypto things are using uint256 internally, and this type don't exist in most languages. Using int64 can work out, sometimes, and will usually break soon enough
- circuit10 3y agoIn a situation like that I think it would be better to have the system not work until it’s fixed than to potentially lose precision and work with untested inputs
- DamonHD 3y agoActually that would break so many things (the cent as the smallest unit in law and in custom where that is currently the case) that governments may by preference issue a whole new currency instead of stir that pot.
- eesmith 3y agoI thought the smallest unit in the US was the mill. https://en.wikipedia.org/wiki/Mill_(currency) https://en.wikipedia.org/wiki/Mill_(currency) > https://www.law.cornell.edu/uscode/text/31/5101 https://www.law.cornell.edu/uscode/text/31/5101 says "United States money is expressed in dollars, dimes or tenths, cents or hundreths,[1] and mills or thousandths. A dime is a tenth of a dollar, a cent is a hundredth of a dollar, and a mill is a thousandth of a dollar." > [1] So in original. Probably should be “hundredths,”. About the only time you see values given in mills is with gas prices, like $4.999/gal, though often denoted as tenths of a cent. It's also indirectly used in property taxes.
- kemotep 3y agoThis year on our local ballot there is a tax levy to approve an increase to the property tax by 5 mills per 100,000 dollars of assessed property value. Allegedly allowing them to raise a few million over the next 10 years to pay off an addition to the school.
- GTP 3y agoI think you could easily convert every stored value to the new unit of measure by multiplying by an appropriate factor. In your example that would mean multiplying all the old values by 10. But when you're designing such software, you could also be conservative and use a smaller unit than cents (which probably many financial sw already do, as you already have things considering fractions of cents like gasoline prices).
- pix128 3y agoDifferent currencies already have different rules. Any good accounting software isn't going to assume US cents. Update your currency table to include a version of USD in increments of $0.001. Update the amounts on a need-be basis. ( Multiply by 10 and change the currency type)
- atemerev 3y agoDivision. 1/x is a common operation in finance (particularly in trading), and you'll get all sorts of trouble if you try to express everything in cents. So, you'll need subpenny fractions (e.g. 8 decimal points), or BigDecimal, or decimal-normalized floats.
- yyyk 3y agoDecimal float has a larger range and a more natural representation when debugging than fixed point. Either way works well though.
- manicennui 3y agoBecause it is very common to need to deal with fractions of a cent in intermediate calculations.