• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Caleb Curry

Making Money and Investing

  • Home
  • Make Money Online
  • How to Buy Bitcoin
  • Get Started with Real Estate Investing
  • How to Start a Website
  • Courses
    • Full Time Income Online
  • Sponsorship

C Programming Tutorial 13 – Basic Type Casting

October 17, 2018 by Caleb Curry Leave a Comment

Don’t forget to read the last blog about arithmetic expressions! Are you new here? Start at the beginning!

Let’s create another program to solve another math problem. This one is going to be a little less serious, because serious math can be boring sometimes.

We work for a chicken company who wants us to write software that tells them how many dozen eggs they produce in a day. So each night, a guy enters in how many eggs they have, and then the output is how many dozens that is. A dozen is just 12, so all we really have to do is divide the number by 12. Pretty simple, but it will illustrate a good programming point.

We are going to make a variable to store the number of eggs, but what data type do we want it to be? Well double would allow us to have a fraction of an egg, which doesn’t make a lot of sense because they are not going to sell partial eggs. So integer will work fine.

Now to calculate the dozen, all we have to do is divide by 12.

The reason we want dozen to be of the data type double is because we could have fractions of a dozen. For example, we could have a half dozen (.5 dozen).

When Running into Issues…

We can try this with a number like 24 and you can see that we get 2. This is correct! So it seems like our program is working. But wait…what happens if I put 18 eggs?

The answer is 1 dozen  What the heck?!

The problem here is that when we look at the line of code: double dozen = eggs / 12; we are dividing an integer by an integer. Whenever we divide two integers in C, we are always going to get an integer as a result.

There are two ways we can fix this. The first, is add .0 to the twelve. In this situation we no longer have two integers, so C will do this operation and give us a double value.

So the lesson learned is that whenever you are doing arithmetic with an integer and a double, the double takes precedence. Meaning, C makes the result a double, not an integer.

Try it and see what you get!

Type Casting

The second option is using what is known as type casting. Type casting is the process of changing the data type of something. This is the more sophisticated way of changing data types and will work in more situations, but sometimes the previous method works fine!

In this situation we are casting the eggs to be of double data type. Now, the result will be 1.5.

You need to be careful with type casting! If we do something like this:

The division gets evaluated as integer division, which gives us 1. Then, we convert 1 to a double and get 1.0.

So be careful and do lots of testing when working with type casting!

In the next blog we are talking about working with strings! Don’t miss it!

Did you know that each one of these blogs has a video with it? Check out this one below!

Filed Under: Uncategorized Tagged With: basic type casting, c programming

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

my face to show my face

My name is Caleb Curry and I started my online business teaching software development and doing digital marketing for brands. Entrepreneurship has changed my life and has allowed me to earn a full time living from anywhere. I now have the freedom and energy to pursue skills and opportunities that I find interesting. This website is all about my journey.

Get my top Python Tips and Tricks

50+ Python Tips and Tricks!

Subscribe to our newsletter to get notes and latest content by email.

    We won't send you spam. Unsubscribe at any time.

    Follow Me!

    • Instagram
    • YouTube

    Recent Posts

    Copyright © 2021 · Genesis Sample on Genesis Framework · WordPress · Log in