Comparing values is a discrete process; an if comparison is absolute. The result is either true or false. Never is the result perhaps or somewhat — unless you add some fudge to the comparison.
Continue reading
Category Archives: Lesson
Non-Identical Yet Very Similar
Computer’s are notoriously obedient and serious. They’re exact. If you give them inaccurate instructions or bad data, the computer does its job without question. But the real world isn’t binary and often times it’s necessary to add some forgiveness into your code.
Continue reading
That’s Not the Input I Asked For
I recently had a reader submit a question regarding input. He wanted to write code that would read a character and display that character’s ASCII code value. It sounds like a simple program, but you must understand variable types and the scanf() function’s peculiarities to properly code it.
Continue reading
Basic Output
The typical first program taught to anyone learning C (or any other programming language) is Hello, world! It’s fun, which sets up false expectations, but it’s also genius.
Continue reading
The byteflip() Function
When I recently researched byte-flipping on the Internet, I was surprised that the solution I used back in the 1980s wasn’t listed among the top solutions available today. That’s probably because my brain thinks like an Assembly Language programmer, so I crafted a low-level solution.
Continue reading
Flipping a Byte
One of the first programming puzzles I solved on my own was a byte flip. That’s the process for taking a binary value and flipping it: You transpose bits 0 through 7 to bits 7 through 0. This is a puzzle that comes up frequently in programming, but one for which no single solution is preferred.
Continue reading
Reading a Binary Fraction
As an example of how a binary values can hold fractions, I’ve concocted a simple real number format: An 8-bit value with 4 bits representing the whole number portion and 4 bits representing the fractional portion. Here’s how it looks:
Continue reading
Binary Fractions
Over the past few weeks, I’ve covered the concept of negative integers and their representation as binary values. What can also be represented in binary, something that’s even less obvious than negative values, are fractions.
Continue reading
More Negative Integers
The far left bit in a signed integer value — no matter how wide the integer — is the sign bit. If it’s set, the value is negative. Otherwise, the value is positive. But the sign bit is more than just a minus sign. It also plays into binary math.
Continue reading
Making Negative Integers
In the C language, you have several ways to create a negative integer: You can assign a negative value to a variable, you can perform math that results in a negative value, or you can manipulate bits to convert a positive value to a negative one. That final operation isn’t as easy as it sounds.
Continue reading