U.S. going metric?

FWIW … The Florida Department of Transportation required all plans be in “metric” a few years ago - late eighties I think. Due to the long lead times of taking projects “from concept to concrete” a whole bunch (is that SI or US measure?) of projects were already in the pipeline, and continued with US measures. (Usually referred to as “British” or “English” but since they’ve gone SI, that seems silly.) Then about 2 years ago, we flopped back, all new plans to be in US Measure. Now we have the bizarre situation of adjacent projects on the same highway being pursued in different measurement systems.

Here’s a wide open opportunity for yet another joke at the expense of of those wacky Floridians, but I’m such a swell guy that I’m not going to take advantage. . .

Duck Duck, Heinlein uses klicks in space when measuring things like distance between two spacecraft that are approaching each other, or length of orbital stations, or distances on planets for characters travelling around. He does not use kilometers for distances between planets (unless making a point), or distances between stars, or distances between universes.

bungie_us, or you could just throw out the obligatory joke at the government’s expense.

NASA is technically under government direction to use metric. However, so much of our stuff interfaces with the Shuttle, and it was designed in the U.S. customary (in, lb), that it is impractical to swap to metric now. So we still design and build stuff using inches and feet and pounds rather than centimeters and meters and kilograms. These programs are “grandfathered” in.

Well, I’ve been working with computers for 35 years, and I can only assume that you’ve never looked into the issue very hard. Disks have traditionally been sold rated in decimal megabytes, while software has wobbled, sometimes using megabytes, sometimes mebibytes, and sometimes (as with floppy disks) kilokibibytes, calling them all “megabytes”. All you need to do is monitor software chat rooms to find confused newbies on the point; they’re almost as common as the poor dears who don’t understand why 1/3+1/3+1/3 doesn’t equal 1.

Which is why the new prefixes have been defined. See http://physics.nist.gov/cuu/Units/binary.html

I write on an 8-1/2"x11" piece of paper with a pen with a .5mm tip.

I buy 11.685 gallons of gas to power the 1.6 liter engine of the car, when I’m stuck with the car, or 1.5 gallons of gas to run the 150cc engine of my bike for 100 miles or so.

A particularly niche field, the area of breeders and fans of pocket pets, has quite a few variances. African Pygmy Hedgehogs are usually weighed in grams - Schneider weighs 450 grams, Peekaboo weighs 600 grams and is a fatty! - but English Hedgehogs are weighed in pounds. Baby guinea pigs are usually weighed in grams until they hit about half a pound, then weighed in pounds and ounces, for show purposes. Bulk food and hay for the critters are sold in pounds, and water bottles marked in ounces, but many kinds of food supplements are sold in mg (milligrams) as are so many human medicines and vitamin supplements, and various liquid diet supplements are measured in cc’s.

The can of V-8 juice on my desk is measured in ounces, but the nutrition panel on the side refers to grams of protein, fat, etc., and mg of various vitamins.

What do you mean 1/3+1/3+1/3 doesn’t equal 1? My Ti-92 says it does.

Anyways, ever seen a Hard drive ad which says 20GB* in really big letters, and says *when 1GB=1 billion bytes in really tiny letters? Many Drives are measured as 1GB=1 billion bytes.

Does anyone else think that kibibyte sounds like a brand of dog food?

That’s because your calculator rounded the result. A based-2 processor cannot represent the fraction 1/3 exactly, so the actual value it gets by doing that calculation is something slightly different than 1.

No my calculator does not round. It always displays the Exact result. For example, if you have it in Exact mode, entering 2pi/2 would not give you 3.1415… instead, it would display pi.

let’s use a real world example. Say you could cut a pizza in three slices exactly the same size. Are you telling me that the sum of the mass of the slices will be slightly less than the mass of pizza you started with? (assuming, of course, a PERFECT cut, with no crumbs coming off as you cut or anything)

Also, don’t forget the rule that 1/3 + 1/3 + 1/3 = 3/3 = 1. Do you have something that nullfies one of the fundamental rules of doing operations with fractions?

I have a calculus teacher that says since 1/3=.33 repeating, and 2/3= .66 repeating, 3/3 must equal .99 repeating, but since 3/3 equals 1, then .99 repeating equals 1.

Poor dears? :slight_smile: I hope you haven’t been tormenting some poor people with misinformation…
Time to repeat the old example…
1/3+1/3+1/3=3/3=1
In decimal.


 _    _    _    _
.3 + .3 + .3 = .9
 _      _
.9*10=9.9
10x-x=9x
  _    _
9.9 - .9 = 9
9x=9
x=1

Then it’s doing something even more complicated than rounding in this Exact mode. Indeed, it must have a fairly sophisticated algorithm to keep track of the true value of the numbers.

What John W. Kennedy meant when he brought this up was something like this (pardon me while I use the code metacommand for actual code)


double x, y;

x = 1.0;
x /= 3.0;
y = x + x + x;
printf("y = %g
", y);

This code fragment will not produce a value of 1.0 for y on any binary computer I know of.

One version of Lotus 1-2-3 a while back didn’t manage to successfully multiply thirds to a whole. And of course all the Pentium chip jokes when it first came out. That’s what I thought everybody was referring to!!

Oh, and dltique, good to “meet” a fellow Bujold fan. Miles is my favorite sneaky little dwarf.

Except when one contractor uses SI and another US Std., and the spacecraft, she go bye-bye (Hello, Mars, have you seen our spacecraft?)

How would I know that the program you typed doesn’t round? Maybe it rounds 1/3 as being .3333333333 instead of being .3 repeating.

Then again, I don’t get the whole X /=3.0 thing. What’s that doing?

The x /= 3.0 is a shibboleth to see if you were a Real™ Programmer. Obviously you aren’t. (If you want the technical answer, it divides the variable on the left by whatever is on the right of the equal sign.)

This whole issue has to do with the way computers work. In specific, floating point processors. They can’t represent all fractions exactly. In fact, the only fractions they can represent exactly is when the denominator is a power of two.

The practical result of this is that when you do some computation involving floating point numbers, you never compare two of them to be exactly equal. They rarely will be. What you do is to choose a small number, traditionally designated epsilon, which is used to create a range centered on one of the values and see if the other value is within that range.

The thing is, new programmers usually only work with integer arithmetic, where you do compare two numbers to see if they are exactly equal. If a programmer is used to working only with integers tries to do the same with floats, they will run into trouble.

Eh, I only know BASIC, and barely at that, so shoot me. :smiley:

Seriously though, what language is that? I’m going to try a BASIC program that does the same thing, it’ll most likely give me 1 (but then again, BASIC was made what, 30 years ago?..)

There are people in this thread doing math.

For fun.

[DDG makes high keening noise while clutching head]
[eeeee eeee eeee eeeee]

The code fragment I gave earlier was in C, although it would also have been valid in languages derivative of C such as C++ and Java.

BASIC was developed in the mid-60s (I think) and C in the late 60s. But when the language was developed is largely irrelevant to what it produces from doing that calculation. What is important is (1) how it does the calculation and (2) does it round the number when printing/displaying the result.

Both C and BASIC do the calculation essentially the same way and should get an internal value of the binary equivalent of .99999999999 (note that this is not the same as 1.0 as there are a limited number of 9s). But I’m not sure about whether BASIC rounds the result on printing, because I am not all that familiar with BASIC. I don’t think it does.

Uh, DDG, we aren’t doing math, we’re doing computer science. :slight_smile:

I tried this one, and it gave me 1. (I was using GW-BASIC, maybe I should find and try Q-BASIC)


10 x=1
20 x=x/3
30 print X+X+X

I think that’s how I did it, anyways. I didn’t save it, so all I can go by is memory.

Also, when I type


10 goto hell

it gives me some sort of error. I wonder why :smiley:

Try
IF (X + X + X = 1) PRINT “1”: ELSE PRINT “Not 1”

that program gives the reply of “1”

Anyways, isn’t multiplication just repeated addition? so 1/3 + 1/3 + 1/3 would equal (1/3)*3 right?

and (1/3) * (3/1) would equal (3/3) or 1.
About the Floppies not being 1.44 MB, Which I believe Chronos brought up, Windows says they are 1.44MB. That’s all that matters :slight_smile: