Berkshire Hathaway's Stock Price Is Too Much for Computers (wsj.com) 159
Berkshire Hathaway is trading at more than $421,000 per Class A share, and the market is optimistic. That's a problem. From a report: The price has grown so high, it has nearly hit the maximum number that can be stored in one common way exchange computers handle digits. On Tuesday, Nasdaq temporarily suspended broadcasting prices for Class A shares of Berkshire over several popular data feeds. Such feeds provide real-time price updates for a number of online brokerages and finance websites. Nasdaq's computers can only count so high because of the compact digital format they use for communicating prices. The biggest number they can handle is $429,496.7295. Nasdaq is rushing to finish an upgrade later this month that would fix the problem. It isn't just Nasdaq.
Another exchange operator, IEX Group Inc., said in March that it would stop accepting investors' orders in Class A shares of Berkshire Hathaway "due to an internal price limitation within the trading system." It's the stock-market version of the Y2K bug. And it's becoming an increasingly urgent issue as shares of Warren Buffett's company have risen more than 20% this year, buoyed by a rising market and a return to profitability after fallout from the Covid-19 pandemic in 2020. Here's the trouble: Nasdaq and some other market operators record stock prices in a compact computer format that uses 32 bits, or ones and zeros. The biggest number possible is two to the 32nd power minus one, or 4,294,967,295. Stock prices are frequently stored using four decimal places, so the highest possible price is $429,496.7295. No other stock is anywhere near Berkshire Class A's stratospheric price levels, so it is understandable why the engineers behind Nasdaq's and IEX's systems chose the number format, which programmers call a four-byte unsigned integer.
Another exchange operator, IEX Group Inc., said in March that it would stop accepting investors' orders in Class A shares of Berkshire Hathaway "due to an internal price limitation within the trading system." It's the stock-market version of the Y2K bug. And it's becoming an increasingly urgent issue as shares of Warren Buffett's company have risen more than 20% this year, buoyed by a rising market and a return to profitability after fallout from the Covid-19 pandemic in 2020. Here's the trouble: Nasdaq and some other market operators record stock prices in a compact computer format that uses 32 bits, or ones and zeros. The biggest number possible is two to the 32nd power minus one, or 4,294,967,295. Stock prices are frequently stored using four decimal places, so the highest possible price is $429,496.7295. No other stock is anywhere near Berkshire Class A's stratospheric price levels, so it is understandable why the engineers behind Nasdaq's and IEX's systems chose the number format, which programmers call a four-byte unsigned integer.
Rollover (Score:3)
Re: (Score:3)
Re:Rollover (Score:5, Funny)
On the other hand, if it rolls over from $429,496.7295 to $0.0001, that would cause many heads to explode.
So what you’re saying is they would suffer from a stock overflow error.
Re: (Score:2)
I wonder if that change might make my BRKB (Berkshire Hathaway Inc. Class B) share explode. The "B" shares are currently at $5,749.99
Re: (Score:3)
Really? What form of dollars? Hong Kong?
As of right now the Class B shares are going for just under $283 on the NYSE.
Agreed on the Class A shares though, $425 125.50 is the current price.
Since A = 1500 B, people wanting to buy the shares have an easy alternative. The people with problems are those who want to sell their "A" shares.
I wonder what programs they use in Venezuela - the current exchange rate is 271 668 741 895.75 Bolivars to the US $ so they have either solved the problem or abandoned shares a
Re: (Score:3)
Mexican, apparently. There was 50-to-1 stock split about 10 years ago, which I forgot about and did not notice because the quote in Mexican dollars was about the price I was expecting.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
It's far worse. It's signed, so it would roll over to -$429,496.7296. That would probably make the stock market explode.
Re: (Score:3)
No, it isn't. If it were, the max would be 2147483647 (e.g. $214,748.3647).
At least they're not using (Score:2)
24 bit floats to represent stock prices.
Re: (Score:3)
Shouldn't Happen (Score:2, Troll)
Re: (Score:2)
This should never happen. Not because of a software bug, because Warren Buffet won't let them split the stock! Share prices should never be this high.
Says who? What rationale do you have for such a statement?
Buffet has listed his reasons many times for why he doesn't want to split the stock. They all make logical sense to me. What is your logical retort?
Re: (Score:2)
Re: Shouldn't Happen (Score:2)
https://www.investopedia.com/a... [investopedia.com]
It makes perfect sense. It's his company and he wants to keep the peanut gallery limited. What exactly is the problem?
Let's try a car analogy:
I have a Tesla and most people don't. Lots of people who don't have one want to drive one. Am I obligated to put mine out one of those luxury car share rental thingies or do I have the right to sell it to the highest bidder or just plain keep it to myself?
Re: (Score:3, Informative)
You could always argue class A doesn't attract the type of investors it should, and I have no opinion on that. However, right now if you can't even trade Class A, by definition you've locked in long-term inves
Re: (Score:2)
It has nothing to do with long term investing. He didn't want to dillute ownership rights in the class A shares when he created Class B. Class B only shares ownership in parts of the assets, not all of them.
Essentially Class A = Owners of the whole company.
Class B = Owners in parts of the company acquired after class b shares were created.
Re: (Score:2)
You couldn't be more wrong if you made that up, and it's obvious that you did.
Re:Shouldn't Happen (Score:4, Interesting)
The class B shares were created because of the rise of mutual funds that promised to just match Berkshire Hathaway's investments. Buffet was afraid that these funds would dilute his brand, follow slowly and therefore return less to their investors, and otherwise be less advantageous than bringing them in house.
He wants Class A to have a status symbol effect. Which makes sense, it trades at a premium to an equivalent amount of Class B
Re: (Score:2)
I hope A-class never gets split. It weeds out the speculators and serves as a nice status symbol of the company's greatness.
Re: (Score:3)
That's not how fractional trading works. The ownsership is not split at all.
Instead, you can only do fractional trading of stocks that the broker, or a 3rd party partner, agrees to themselves buy, and then re-sell a fraction of the financial rights to you under their own terms. That's why you won't find this in the list of stocks available for fractional trading; only the class B.
Re: (Score:2)
>At this point, Berkshire Hathaway is only attracting serious investors that are also ultra wealthy.
Never mind. It's obvious you don't understand how the stock works.
Re: (Score:2)
Yeah, Buffet is really out to lunch on this one (Score:2)
The idea that not splitting attracts the buy and hold investor is ridiculous, especially when paired with not paying a dividend. I get why they don't pay dividends--it forces a taxable event, whereas selling would get you the favored long term capital gains rate; but with the dividend paying stock you get reasonable returns on your money, or you can easily reinvest them. With the original Berkshire scheme, the only way to make money is to sell. What if you just want to go on vacation? One Berkshire shar
Re: Shouldn't Happen (Score:2)
But when microseconds count (and they do, not just in stock prices), then the overhead of creating and passing objects instead of the time 16 or 32 or 64 bit words the machine natively operates on can get in the way of making a quick buck or shooting down the enemy missile.
This is why programmers left to their own devices are just as dangerous as Mel the Programmer.
Re: (Score:2)
Microseconds counting in stock prices is a problem, they absolutely should not. If it stock trades took a minute to process, nothing productive would be harmed.
Re: (Score:2)
If it stock trades took a minute to process, nothing productive would be harmed.
Slower trades mean greater risk, which means higher transaction costs.
If stock trades took a minute, the shift of trading to private offshore dark pools would happen even faster.
Re: (Score:2)
Higher transaction costs would be offset by increased profits through the elimination of HFT systems skimming profits out of the system.
Re: (Score:2)
Higher transaction costs would be offset by increased profits through the elimination of HFT systems skimming profits out of the system.
HFTers profit by reducing transaction costs. When a stock is traded, it is sold to whoever is offering the best price. That will often be an HFTer, because the HFTer can do so with less risk. So, no, elimination of HFT systems will not "increase profits".
Re: (Score:2)
I still don't understand how a very fast-moving middleman making profit in a transaction could reduce transaction costs or not decrease profits for one or both of the parties on either side. HFTs are basically like those people who scope out good deals on used goods in online classifieds, buy them, and flip them at a higher cost on the same platform while doing nothing to the good being exchanged. How the hell does that help at all? If they never existed, the slower-moving parties on either side wouldn't ha
Re: (Score:3)
I still don't understand ...
Argument from ignorance [wikipedia.org] is a logical fallacy. The fact that you don't understand how stock markets work does not mean you are correct.
The "stock market" is not something that your mom can log into and grep for someone to buy her shares. Only members can trade and your transactions will ALWAYS go through a "middleman". The difference is that HFTers can match up buyers and sellers faster, with less risk of the price changing while they are holding the stock, and they pass some of the savings from the reduc
Re: (Score:2)
I wasn't making an argument from ignorance so much as requesting an explanation, and in lieu of one...
Since HFT became common, both spreads and transaction fees have dramatically declined.
...you've given me what amounts to post hoc ergo propter hoc [wikipedia.org] fallacy.
Re: Shouldn't Happen (Score:2)
Except he explained the mechanism behind the result...
Re: (Score:2)
Since the purpose of an HFTer is to unload what they buy ASAP, they are necessarily not offering the best price. They must necessarily find someone offering more in order to turn a profit.
What they do is spot the big spender heading to your shop and run in just before he gets there and buy you out for less than the big spender was willing to pay.
If necessary, they flip over a cart of fruit to slow him down.
Net result, big spender pays more, seller gets less and HFTer pockets the difference.
Re: (Score:2)
Since the purpose of an HFTer is to unload what they buy ASAP, they are necessarily not offering the best price.
You have a weird mental model of how stock markets work.
There are buyers and sellers. Then there are market makers who actually execute the transactions.
A market maker buys the stock from A and sells to B. But if the MM buys from B, and before selling to A, A cancels their order, then the MM is stuck with the stock and may have to unload it at a loss.
The obvious way to reduce that risk is to execute the transaction faster. If the trade can be completed in one millisecond instead of two, the risk is half
Re: (Score:2)
Or A could sell to B and both get a better deal.
Re: (Score:3)
So it's more of a private club than it is a market?
A private club is exactly what it was until 2013.
Since then, you can buy a yearly license.
How ever did anyone sell anything before HFT? I don't think it involved stone slabs and chisels.
Almost. It involved slips of paper and pits.
As soon as it went electronic, the benefits of faster transactions were immediately apparent and HFT was born. Spreads shrank and transaction costs plummeted.
Re: (Score:3)
That's just electronic trading. There's no need for it to be high speed to get those benefits. I can get a license to trade, but without the multiple millions to do HFT, I will be at a disadvantage. With some simple mods to the trading system, anyone in the country could trade on equal footing through normal non million dollar connections.
The market would move along just fine.
Re: (Score:2)
I'm not so sure it increases the risk as long as nobody else can trade faster.
Re: Shouldn't Happen (Score:3)
Right, decades ago exchanges should have standardized on an eight byte unsigned integer to store share price, Because you never know, shares could reach into the billions of dollars/share...
You've obviously never worked in a high transaction environment, where every wasted byte per record, across billions of records daily, quickly adds up to a lot of wasted space.
Re: (Score:2)
And this is how bad programming happens. Assumptions made.
Engineering is about working within the confines given. That's why early computers did what they did. Things change. It's easy to say the past shouldn't have done what it did, when we ourselves are free of their confines.
Re: (Score:2)
"things" change, but there is only one rarely traded stock at question, so it isn't even clear to me that things have changed.
Perhaps this is just a cost of inflating your stock price and refusing to manage it the same as everybody else? Now it can't be traded everywhere?
Maybe they should wait until there are other stocks affected before deciding there is a problem?
Re: (Score:2)
(at the time) For the short term it isn't a problem and chances are good the limit can be fixed many years down the road before the limit actually becomes a problem (obviously not everyone has fixed it). Storage isn't so much a limited resource by today's standards but 20 30 40 years ago you only allocated space that you 'need' at the time due to limited memory and storage constraints.
And object oriented doesn't help when the problem is acro
Re:Shouldn't Happen (Score:5, Insightful)
And this is how bad programming happens. Assumptions made. In the case of this stock, this happened before 20 years ago. It is basically caused by a lack of competency in basic math by most people who code. It is hard to create a generic representation of values, especially when all digits are significant. Secondarily, a lot of this trouble is caused by hard coded values and badly factored code. Everyone laughs at object oriented programming, but if the stock price is an object, and all it logic is in one place, things like this are simpler to deal with.
Really? I'd say it's a bad spec. The exchanges should just say "Prices will be between here and here, with this much precision, and if you go outside those bounds we stop trading." If you have some occult rationale for why your shares should trade at $1M apiece, that's your problem, maybe retire to an executive retreat and figure out some motivated reasoning for why your shares should trade at $1k apiece instead.
Re:Shouldn't Happen (Score:5, Interesting)
And this is how bad programming happens. Assumptions made.
In this case it sounds like an entirely reasonable assumption to be used at the time it was made. Stock prices more than a few thousand a share seem to be an entirely recent novelty, anyways.
Their only true mistake here may have been failing to get the system limitation appropriately codified to prevent the exception - For example, the stock exchange could have passed a policy rule that "No share can trade through this exchange at a price above $X per share."; Similar to the rules exchanges have where stocks trading at less than $5 will get delisted from the exchanges --- they could simply have had a rule to keep their system constraints from being violated.
Anyway, 1 extreme outlier case 20 years later after everything before then followed the assumption is pretty darned good.
It is basically caused by a lack of competency in basic math by most people who code.
An unfounded insult to developers, really. People creating this Int type will likely understand full well there's a number limit range of 32-bit values; probably chose it anyways. This is a design choice that could be made with competency or not.
It is hard to create a generic representation of values, especially when all digits are significant.
Not true.. A generic representation of values is simple to create and code but would fail by likely not meeting space efficiency requirements or developer expectations, and especially might be unsuitable for network-based trading protocols. Designers have a choice to adopt a design that has disadvantages, or pick different designs that may be more generic but have other problems --- Representations of values that impose some constraints on values have advantages - Space efficiency and limiting the complexity of operations, or making data formats easier to read and understand, are some of those advantages.
See other examples, even the internet itself has system limitations. Internet Protocol version 4 IPv4 has 32-bits to an IP address; no more, no less. Every system on the network has to have a unique address, and the remaining few available will run out for the global internet.
This is Not a programming problem -- every implementation regardless of language carries the same limitations that come from data structure design. This is not a "difficulty creating a generic representation of values" - This is a, By Design, A generic representation either cannot meet essential requirements, Or was not necessary to consider, And an original decision is made to go with an implementation having Limitations that are imposed by the design.
Everyone laughs at object oriented programming, but if the stock price is an object, and all it logic is in one place, things like this are simpler to deal with.
How do you know stock price is not an object? It could easily even be an object in some programs using the data and not others. They can still have the very same problem, either way. Data values still have to be in some binary format agreed upon in advance before they can be sent or received over the network or written to a file.
Particularly when numerous software programs written in potentially various programming languages running across multiple computers systems on distributed networks need to communicate and process using the same raw data values - the data formats cannot necessarily simply be "changed" one day without careful planning around how to carry a change out without breaking programs and the flow of data between programs, etc.
Re: (Score:2)
In this case it sounds like an entirely reasonable assumption to be used at the time it was made.
It was not an assumption.
It is "the specc". It is the standard used between trading platforms.
Our parent is just silly to assume "one programmer made an assumption", which is more or less world wide standard now and he is to blame.
Re: (Score:2)
I knew someone who worked on Nasdaq around 20 years ago, their previous system had a 36-bit word - that would have permitted signed numbers up to 3 435 973.8367. I can't remember exactly when they modernised (replaced) their software but it was probably around the year 2000 - and no, not because of y2k bugs.
The hidden costs of software migration.
I'm sure the decision to limit binary numbers to 4 bytes was considered a no-brainer at the time, but even 10 years ago the cost of one Class A share was just unde
Just wait until dogecoin moons (Score:2)
Re: (Score:2)
Digital currencies have their own issues. When I first heard that Bitcoin supported up to 8 decimal places I knew that would make using it on traditional financial systems a nightmares. A lot of systems have a maximum number of decimal places and I haven't seen many systems deal with 8 digits unless they had some specific reason why such a feature would be needed, and until bitcoin came around, there wasn't a need for most systems to support anywhere close to this number of decimal places. You could always
Integer? (Score:2)
It's not an integer if it has decimals.
Re: (Score:2)
It is an integer. Its held as an integer number of ten thousandths of a penny. That just happens to have a visualization with a decimal in it.
Re:Integer? (Score:5, Informative)
The decimal representation shown to humans is fixed-point, but the internal representation in the computer is an integer. That's a subtle, but real difference. If the binary value were fixed-point, the range of values capable of being shown on either side of the decimal point would be two powers of 2 instead of the two powers of 10 in the representation.
For instance, take an 8 bit integer and a 4+4 bit fixed-point value: eight binary ones in decimal is 256.
But four ones decimal point four ones in binary in decimal is 15.9375, not 25.6
And for some reason I couldn't post this at first because Slashdot thinks a big string of 1s is ASCII art and I had to replace the numbers with text.
Re: (Score:2)
And in all my typing, I meant to write "255" and "25.5".
The point is that instead of having a single power of 2 in fixed point, you get a power of 2 before the point, and a power of -2 after the point.
The 4^-2 is 0.0625, so all 1s after the decimal in fixed-point binary leaves you with 1-0.0625, which is 0.9375, plus all 1s in the first four bits, which is 15, which gives you 15.9375 as max value for a 4+4 fixed point unsigned binary value.
Re: (Score:2)
There are a couple of common types of "fixed point" that sometimes get confused. The method you describe with binary fractions is what I would call real binary fixed-point, you have an integer scaled by a negative power of 2. However it's not very good for financial calculations, so there's the the common method of having an integer scaled by a negative power of 10 instead. Or put another way the units for financial calculations may be cents, or 1/100th of a cent, rather than whole dollars.
The binary dec
Re:Integer? (Score:4, Interesting)
Integers are just fixed point where the number of fractional digits are 0. Mathematically fixed point and integers just work the same way. Floating point screws things up because the magnitudes of each increment are not fixed size; yet I see highly experienced programmers who behave like noobs trying to use floating point to deal with monetary values.
In the early days we used to have Binary Coded Decimal computers, meaning they would do calculations in decimal instead of binary. This was a highly desirable feature when your computers were going to be used for financial purposes. Even some early microcomputer chips like hte 8080 had an "auxillary carry" to be used for BCD computations as they would be used in calculators.
Re: (Score:2)
It's called "implied decimal" and is used widely in finance. If I want to transfer US$100.00, then I send 10000 and the currency code 840. 840 is USD, which implies 2 decimal places. For yen, you send 100 (no decimal places) and there's at least one currency (Unidad de Fomento from Chile) with 4 so you'd send 1000000 implying 100.0000. Internal representation is an integer or more recently a large integer (64 bits)
Re: (Score:3)
Re: (Score:2)
It can, if the integer is the fixed smallest decimal. It's not counting in dollars, it's counting in integer numbers of a hundredth of a cent.
Re: (Score:2)
Yes, it could. But according to the summary, it counts fractional dollars, not 1/100ct.
And yes, the binary representation in memory would be the same. But that makes the difference even more important, because many different things have the same binary representation. That's why it is so important to know if any 4 bytes in memory are representing an integer, a fixed point decimal, a floating point decimal or an Unicode-Char.
You absolutely DO NOT want to write stock market software that handles stock quotes
Re: (Score:2)
British shares should always be quoted in pence, unless someone is doing it wrong. I've sometimes seen people use GBx or GBX as the currency code.
Re: Integer? (Score:2)
If the atomic unit is .01 cents, then it is an integer.
Re: (Score:2)
It's not an integer if it has decimals.
The underlying representation is a 32-bit unsigned binary integer. To represent a stock price it is scaled by 10000.
I had a similar problem when developing a text editor. For people working from hardcopy terminals we used numbers to identify lines. When the text editor read a file it numbered the lines from 1. If the user inserted a line between two existing lines, it got a number between the numbers of the existing lines, so a line inserted between lines 1 and 2 would get the number 1.5.
We wanted to ha
Bring back BCD (Score:4, Interesting)
This is just crying out for BCD represenation. If I remember correctly:
01 STOCKPRICE PIC S9(7)V9(4).
Re: Integer? (Score:2)
No other stock is anywhere near Berkshire Class A's stratospheric price levels, so it is understandable why the engineers behind Nasdaq's and IEX's systems chose the number format, which programmers call a four-byte unsigned integer.
Its an integer - I realize they buried this fact by putting it at the very end of the /. Summary, but its stored as an integer, A four byte integer.
The issue is how the value is stored, not how it is displayed. It would have been a bloody mess if they stored stock prices as floating point, the mind reels at the thought of all those rounding errors!
Re: (Score:2)
ugh, rounding errors.
I found a way to freeze/burn a Microsoft Surface big-ass-table machine using three pennies.
drop a penny on a slider control, and slide it off to the side; the software starts tracking the position as a whole integer
drop a second penny, and nudge it off to the side as well; the software calculates the 'average' position, which is sometimes a whole number sometimes a number ending in .5
drop a third penny, and tart nudging it... the average position can now end with .3333 or .6666.
However,
Re: (Score:2)
That's how I would implement it, too, if I had to use a programming language like C in the 1980s. But if your programming language doesn't offer fixed point decimals and you have to that, it is an implementation detail and you never should say (as in the summary) that the quote in USD is stored as a 32bit integer. Because then, 400,000 wouldn't raise anyones eybrow. We're far from any range problems here, aren't we?
Yes, stating the unit in wich your values are stored each and every time is tedious, but that
Re: (Score:2, Interesting)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Not the only critical financial system affected! (Score:2)
My account in "The Simpsons Tapped Out" is capped at $4,294,967,295. The game throws a dialog when you hit that number the first time saying their internal counter can't go any higher. Thanks EA!
"Three comma club" ftw.
Re: (Score:2)
in Everquest a token good for a 30 day subscription ('Krono') sells for around 2,100,000,000 'copper piece' value; probably only because they hit the signed int limit on the in-game marketplace. selling for more requires doing the trade manually.
Re: (Score:2)
I used to get the high score in Galaga all the time because of an overflow bug. I possibly wasn't that great at the game, but if I could hit all of an incoming wave of ships in one of the first few easier levels the score would go crazy and I'd get a few million extra points.
move the decimal point? (Score:2)
am i the only one who thinks: who needs that many decimal points anyway? move it left one: you now have a factor of ten more overhead space. now the max price is $4,294,967.295
Re: (Score:2)
I agree, especially if you multiply by 10 the value of my stock portfolio in the process.
Re: (Score:2)
Re: (Score:2)
But that screws up all the financial calculations and various rules and promises you made to customers. Dropping that last 0.0003 might cost someone several thousand dollars...
Re: (Score:2)
The sound of history repeating (Score:2)
Back around 1979, when gasoline prices started soaring with OPEC production limits and the Iran crisis, gas pumps didn't support three digits for the per-gallon price.
It turned out to be easier to set them to price per half gallon than to upgrade to support three digits. Those arrived pretty quickly, but for a while judging prices took a little math.
There's no reason why exchanges can't trade on, say, 1/10 shares, with a requirement to purchase 10 of them.
Re: (Score:2)
They could simply convert the BRK shares into BRKB shares. It would be like a split.
Odd legacy (Score:2)
To me the funny thing is the holdover to four decimal places from fractional prices. Only two are required today with decimal pricing.
Erm nope? (Score:3)
which programmers call a four-byte unsigned integer.
It is called a 4 byte (unsigned) fixed point number, not an unsigned integer.
Re:Erm nope? (Score:5, Insightful)
Nope. It's called a 4 byte unsigned integer. That you chose to display it as a fixed point number is your problem and has nothing to do with how the underlying data is declared.
Re: (Score:2)
Even "4 bytes" is ambiguous. "4 octets" is more clear. Even then, some embedded systems are based on 16-bit words and so it would be a "2-word" data type. Of course, "word" is also ambiguous...
So let's just say "32 bits unsigned" and call it a day.
Re: (Score:2)
In practice there is no important difference,
unsigned fixedpoint LOL = 0;
"error: expected initializer before 'LOL'"
Seems to be quite important to me, I can't get my code to compile.
My point was the datatype is an unsigned integer. What you do with that unsigned integer is a completely different topic. As far as a programmer is concerned they are working with 4 point unsigned integers.
Re: (Score:2)
What processors support 'fixed point numbers'? None. Why? They are integers.
Re: (Score:2)
There are processors however that support decimal arithmetic. Not used much these days, but it used to be a big thing when you wanted faster decimal calculations, such as on a calculator or a financial transaction This survives today even in the x86_64 RFLAGS status register (Auxillary Carry) even though it's an archaic holdover from when the 8080 was used a lot of in calculators.
Re: (Score:2)
I am well aware of decimal arithmetic, I have been working on mainframes for 40+ years. However, even in decimal arithmetic the numbers are stored as (decimal) integers, not 'fixed point'. As the IBM Z Architecture PoP states: "Operands of the decimal-arithmetic instructions are in the signed-packed-decimal format and are treated as signed decimal integers. A decimal integer is represented in true form as an absolute value with a separate plus or minus sign. It contains an odd number of de
Re: (Score:2)
First of all: basically all main frame processors do support fixed points and/or BCDs
Secondly: it is the programmer who defines how to interpret a sequence of bits. Has nothing to do with the processor per se.
Re: (Score:2)
Which mainframe processors support fixed point (other than integers)? IBM Z has instructions like CONVERT TO FIXED, but the 'fixed' they convert to is an integer. And the BCD instructions all operate on integers.
Re: (Score:2)
Re: (Score:2)
You are confusing representation with presentation.
Q. How is Fixed Point 8.8 stored?
Q. How is Fixed Point 4.12 stored?
Q. How is half float [wikipedia.org] stored?
A. They ALL are represented as unsigned 16-bit integers but presented differently.
A four byte integer can be presented as a:
* Signed 32-bit integer,
* Unsigned 32-bit integer,
* 32-bit Floating Point Number
It is up to the programmer to determine how to display the bits.
Re: (Score:2)
It is up to the programmer to determine how to display the bits.
Exactly. And hence the 4 bytes are not interpreted as "4 byte integer".
I'm no trading expert, but (Score:2)
Re: (Score:2)
That's one of the problems with the obsession over stock prices rather than market cap valuations. Higher prices mean better in people's minds and distort valuations.
It's easy to mentally compare a company like Uber's valuation at ~$50/share and think it's undervalued when you compare it to other tech stocks like Netflix at $500 or Google at $2,300/share. It's much harder to rationalize how a taxi company with no assets or employees is worth $95 billion.
Go to three digits past the decimal. (Score:2)
Adjust the fixed point radix across the board. Problem solved.
Why four decimal places? (Score:3)
Until 2001, stocks traded in 1/16 dollar units, which requires four decimal places to represent accurately. Originally this was 1/8 dollar units (pieces of eight), but it changed to 1/16 in 1997 as a precursor to decimalization. Changing the number of decimal places to two isn't as easy as it sounds given that there is a huge amount of historical data stored in the old format.
Re: (Score:2)
Buffett is fine with people not being able to trade class A shares. Those are for the elites who buy and hold. Class B is for people who buy and sell shares, like a plebe.
Re: (Score:3)
perfect time to switch to Liters... oh well.