Challenge: Type Modifiers for Variables
The keywords short
and long
are type modifiers. They are used to modify the size or range of a data type. They don't create new data types but rather alter the properties of existing types.
type_modifiers.h
1234567// `short` is used for variables // That require smaller range of values. short int small_range_integer_variable; // `long` is used for variables // That require a larger range of values. long int large_range_integer_variable;
Sometimes, you know that the values will certainly be small. For example, when storing the age of users, the value won't exceed 255. Such values can fit within 8 bits.
main.cpp
12345678910#include <iostream> int main() { short int small_number = 45; long int large_number = 4000000000; std::cout << "Small number: " << small_number <<std:: endl; std::cout << "Large number: " << large_number << std::endl; }
What those type modifiers do is change the size of a type. While int
takes up 4 bytes, short int
takes up 2 bytes, and the long int
8 bytes of memory.
Note
There is a shorter syntax available you can use any of them:
short
is equivalent toshort int
;long
is equivalent tolong int
;
So, we need to use long
(long int
) to store large values. In contrast, we can use short
(short int
) to take up less memory. However, its range is narrower because of that. Here is the table with ranges that a type can hold:
Swipe to start coding
You are implementing a utility that estimates daily energy consumption for a city.
The function calculateEnergyConsumption
should multiply a small per-person value by a (potentially) very large population and return the correct total — without losing information due to integer overflow.
- Use
short int
foraverageConsumption
— this small number (like 27 kWh) easily fits in a small-range type. - Use
int
forcityPopulation
, since populations can reach millions. - Multiply
averageConsumption
bycityPopulation
and store the result intotalConsumption
. - Use
long int
fortotalConsumption
, because the multiplication result may exceed the capacity ofint
. - Return the total result from the function.
Do not modify the values of averageConsumption
and cityPopulation
inside the calculateEnergyConsumption
function.
Example
averageConsumption = 27, cityPopulation = 350000000
→ 9450000000
averageConsumption = 25, cityPopulation = 2000000
→ 50000000
averageConsumption = 40, cityPopulation = 100000
→ 4000000
Lösning
solution.cpp
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain when I should use short, int, or long in my programs?
What happens if I try to store a value that's too large for the chosen type?
Are there unsigned versions of these types, and how do their ranges differ?
Awesome!
Completion rate improved to 4.35
Challenge: Type Modifiers for Variables
Svep för att visa menyn
The keywords short
and long
are type modifiers. They are used to modify the size or range of a data type. They don't create new data types but rather alter the properties of existing types.
type_modifiers.h
1234567// `short` is used for variables // That require smaller range of values. short int small_range_integer_variable; // `long` is used for variables // That require a larger range of values. long int large_range_integer_variable;
Sometimes, you know that the values will certainly be small. For example, when storing the age of users, the value won't exceed 255. Such values can fit within 8 bits.
main.cpp
12345678910#include <iostream> int main() { short int small_number = 45; long int large_number = 4000000000; std::cout << "Small number: " << small_number <<std:: endl; std::cout << "Large number: " << large_number << std::endl; }
What those type modifiers do is change the size of a type. While int
takes up 4 bytes, short int
takes up 2 bytes, and the long int
8 bytes of memory.
Note
There is a shorter syntax available you can use any of them:
short
is equivalent toshort int
;long
is equivalent tolong int
;
So, we need to use long
(long int
) to store large values. In contrast, we can use short
(short int
) to take up less memory. However, its range is narrower because of that. Here is the table with ranges that a type can hold:
Swipe to start coding
You are implementing a utility that estimates daily energy consumption for a city.
The function calculateEnergyConsumption
should multiply a small per-person value by a (potentially) very large population and return the correct total — without losing information due to integer overflow.
- Use
short int
foraverageConsumption
— this small number (like 27 kWh) easily fits in a small-range type. - Use
int
forcityPopulation
, since populations can reach millions. - Multiply
averageConsumption
bycityPopulation
and store the result intotalConsumption
. - Use
long int
fortotalConsumption
, because the multiplication result may exceed the capacity ofint
. - Return the total result from the function.
Do not modify the values of averageConsumption
and cityPopulation
inside the calculateEnergyConsumption
function.
Example
averageConsumption = 27, cityPopulation = 350000000
→ 9450000000
averageConsumption = 25, cityPopulation = 2000000
→ 50000000
averageConsumption = 40, cityPopulation = 100000
→ 4000000
Lösning
solution.cpp
Tack för dina kommentarer!
single