Learning to count in computing

When learning computing most of us start with binary calculations 0 and 1

We then progress through bits, bytes, nibbles (who remembers that word) kb, mb, gb, tb … cannot remember much after that.

We also learn sometimes binary, octal, and progress through machine code assembly etc.

My first real computer job was on a 16 bit processor and so I had to learn hexadecimal… we had computers all over the UK and every day I was responsible for getting data by dial up modems from each branch, due to poor line signal the transmission quite often failed. So open the file, search to the end of file, look at the data, join it on to the second or third transmission from the satellite location then search to the end of file, look at the last record and make sure there was a end of file marker before onward transmission of the file.

Yes in hexadecimal I could count and write.

I smile every time I go to a bar order 2 drinks and the server gets a calculator out to add the cost.

3 Likes

I worked with IBM mainframe computers. It was all binary / hexadecimal.
As in I was born in binary 0000 0111 1001 1110 or Hex 07 9E.

A refresher for all of us.
Bit can only be a 0 or a 1.
Hex 07 is one byte / 8 bits. 0000 0111
Nibble is half a byte / 4 bits as in 0111
Word is 2 bytes and Double word is 4 bytes.

A 16 bit computer could only address hex FF FF = 65,536 bytes. 64 KB, KB = 1024, not 1000
Then the 32 bit PC or FF FF FF FF or address about 4 GB.
Currently (recent PC) can address 64 bit or FF FF FF FF FF FF FF FF or about 16 EB.
16 EB = (16 × 1024^6) = 2^64
EB (Exabyte) for reference.
1024 MB = 1 GB - Gigabyte
1024 GB = 1 TB - Terabyte
1024 TB = 1 PB - Petabyte
1024 PB = 1 EB - Exabyte

And yes, I had to look some of this up and believe it to be correct.

6 Likes

It is amazing how reliability of data transmission has improved.
I can remember RS232 plugs and twisted pair cables and things like kermit and we could not even get it to work reliably between 2 computers in the same room.

I learnt on a computer that used BCD (binary coded decimal). It encoded each decimal digit of a number directly into binary in a 6 bit word. I never encountered octal or hex until I moved onto mainframes. If you used assembler you needed it.

Today we hardly ever see hex , except in keys.
I think if you send a binary file as an email attachment, it will encode each byte in hex, then decode it at the other end.?

How many of us have looked at the ASCII code table to see how letters and symbols are represented inside the computer as octal or hex numbers? It is called encoding.
There are functions in most languages to do it.

It takes a while, when first starting to program, to get used to the idea that the letter ‘1’ is represented in the computer differently to the integer 1, and differently again to the floating point number 1.0

4 Likes

Looked at a reference table all the time when I was a Cobol programmer. I had the IBM Green Card. “Green card was the abbreviated name given to the IBM/360 Reference data card that served as the shorthand “bible” for programmers during the late 1960s and 1970s”
Then later it …
“was later replaced by the “yellow card” for the IBM/370 product line.” and as a joke I wrote at the top of the 1st page “Green Card”.

I wonder how many of us old timers remember reading a core dump to find the data exception or addressing exception of a program.The core dump was printed in hexadecimal.

4 Likes

Thinking bac’ now bet most computer users have never seen or used one like this.

Yes I also remember getting my soldering iron out to make up twisted pair cables from rs232 connectors.

Thanks for the lesson on words forgot that measure and

1024 TB = 1 PB - Petabyte
1024 PB = 1 EB - Exabyte

Wonder how long it will be before we have usb keys with some of these sizes as the normal. Old mr moore and his law could go out of the window

7 Likes

oh gawd I must be old - I clearly remember those phone handset connectors :grimacing:

4 Likes

Yes, I remember. I used an IBM360 with Fortran IV and PL/1. Reading a dump or a load map was part of life.
The 360 did not use ASCII… it was EBCDIC… I had enormous difficulties with sorting alphabetic data, because the encoding had some quirk which mucked up alphabetic order… cant remember the details.

4 Likes

You guys, in my eyes, are truly role models, with all your combined computer experience, and the willing too share, for any PC user.
Thanks @easyt50 for the breakdown of “bit,hex,nibble,byte” meanings, I get confused with anything over 1GB.

6 Likes

I remember this but don’t remember why or what I did with it to correct or action tool far back.

Mine was a data point mini with 4 times 40 GB hard disks that were multi platter and we ran the company sales records on it.

2 Likes

Not old just experienced most today have no idea what we are talking about…

4 Likes

It is only useful if combined with gdb so you can track addresses of variable names, and where the program address counter was when it stopped and dumped.
There are better ways to debug.

2 Likes

As I recall and forgive me if I am wrong, but we are talking my debugging experience from more then 35 years ago with IBM computers and Cobol.

The core dump usually was large, many pages, of hexadecimal printed because it would be the entire program printed out with all the data areas in the program as well. In the case of a data exception, the system would give you the hexadecimal (hex) address where the program quit (bombed).

You would find this location in the dump and in the case of a data exception it would always be an assembler AP (add pack) instruction. Side note. Even tho the program was written in Cobol, when it was compiled (translated) it became Assembler binary code before it could run on the computer.

So the Cobol instruction might look like ‘Add sales to total-sales.’
If you were coding in Assembler it might look like ‘AP total-sales, sales’
But in the hex dump it would look something like FA11A406091EA40810.
To make it more readable to us FA 11A4 06 09 1EA4 08 10
----------------------------------------- OC - D1 L1 B1 — D2 L2 B2
This is only an example and a little help from my ‘Green Card’.
The FA is the instruction (Cobol = Add), Assembler = AP, OP or Machine code FA.
D1 and D2 are the displacement, L1 and L2 are the lenghts, B1 and B2 are Base registers.

So the Cobol programmer (me) would add D1 to the value in B1 to get the location (address) of the first value and do the same add D2 to the value in B2 to find the location in the dump of value 2.
In either location 1 or 2 there would not be a valid numeric number which would cause the program to abend (stop) with the data exception.

4 Likes

Superb, spot on remember now why.
We were using datapoints own version of cobol language, databus… had to look that up as its so long back 1980 or 81 … computer operations were different back then !

Your memory is better than mine.

1 Like

I remember something about that too.

Copilot says…

Sort Order:

  • ASCII: Characters are sorted in a logical and sequential order. For example, digits (0-9) come before uppercase letters (A-Z), which come before lowercase letters (a-z). This makes sorting straightforward and predictable.
  • EBCDIC: The sort order is less intuitive. For example, lowercase letters (a-z) come before uppercase letters (A-Z), and digits (0-9) are interspersed among punctuation and special characters. This can make sorting more complex and less predictable.

In college we called them acoustic couplers. Very slow. 300 baud.

I remember some COBOL tables being written past their declared size. Then it would overwrite something else. If it was only data, it might not be fatal. If it overwrote program code, you had no way of knowing what would happen.

The dump might show you what table it was that overflowed.

000600 WS-EMP-TABLE OCCURS 100 TIMES.

2 Likes

More like a product of our era.
In our time everyone had to be like that in order to use a computer

3 Likes

if you were lucky and had a good tailwind :grinning:
Sometimes had better results with a wet length of string and a tin can on each end…

3 Likes

At one stage I had 2 handsets as the image side by side to transmit from one computer to the next in the same room because the twisted pair would not work and they used different sized media and unable to remove and refit in other box.

Today we just plug and pray !

1 Like

Yes, very slow. I remember going to the BBS (dialing into a Bulletin Board System) and I could read (keep up) with the texts as it was being displayed from the other system.

2 Likes

We had one of those at high school. I never dared to touch it. It was for the two kids (one year older than I) who went to the “other side”. They could “talk” with other users around the “net”. Maybe they got connection to some kind of irc, don’t know. I just listened the beebs and wondered what the hell they are doing. Later the quieter one of them tried LSD. Crazy but at that age I think people just tries anything if it’s tempting.

My hexadecimals were something with Commodore64 and Basic or key mapping to some game. Can’t remember.

2 Likes