Embedded system design using c, Computer Engineering

Assignment Help:

W To date we have discussed elementary high level language programming and low level assembler programming, one of the benefits of C is the integration of both , this requires a revisit to 'C' to discover advanced features.

Number ranges and logical expression within C

  Within C we have seen and used various type functions i.e. int, char, Boolean, float. These types are limited in storage size, consider the following example.

Example
  
  Write a program to input two integer numbers and display the addition.
 
Answer
 
  #include stdio.h
  void main()
  {
  /*Author : Mr James Mc Carren 
  Company: Staffordshire University 
   Date: 26th August 2012 
  Version 1.0 
  Function : To add two integers numbers together       
   Modifications:   none*/
  char prompt;
  short int a,b;
  printf("Please enter in number 1  : ");
  scanf("%d",&a);
  printf("\n\rPlease enter in number 2 :");
  scanf("%d",&b);
  printf("\n\r The total of %d + %d is %d",a,b,a+b);
  printf("Press any key to exit \n\r");
  scanf("\n%c",&prompt);
  }   
 
  If we enter in the following numbers 
 
  Number 1 40000
  Number 2 50000
 
The program produces
 
  Please enter in number 1  : 40000
 
  Please enter in number 2 :  50000
 
   The total of -25536 +-15536 is 24464

 There appears to be a limit on the maximum number stored in a integer variable.  This is true for all the variables used so far i.e
 
  Char    127 to -128
  int    32767 to -32768
  float     3.40282347e+38 to 1.17549435e-38
 
To extend these ranges we can use extended types i.e
 
  long int    2147483647 to -2147483648
  double   1.7976931348623157e+308 to 2.2250738585072014e-308
 
To extend the ranges even further we can use the unsigned type, this removes the sign space. This is commonly used in microprocessor development systems are hex/binary is rarely signed i.e.

     unsigned char 
    unsigned int
    unsigned  float
    unsigned double
    unsigned long int

This is why when we cast data; it may not always work i.e trying to fit a float into a int,  Because a float is physically bigger than an int . Coupled with this is a extended range of format commands i.e. %lx %ld ' long hex long decimal' %ux %ud ' unsigned long hex unsigned long int.


Related Discussions:- Embedded system design using c

C language, Smugglers are becoming very smart day by day. Now they have dev...

Smugglers are becoming very smart day by day. Now they have developed a new technique of sending their messages from one smuggler to another. In their new technology, they are send

Loop level-parallelism based on granularity size, Loop Level This is...

Loop Level This is one more level of parallelism where iterative loop instructions can be parallelized. Fine Granularity  size is used at this level also. Simple loops in a

What is loadrunner, LoadRunner works by making virtual users who take the p...

LoadRunner works by making virtual users who take the place of real users operating client software, such as sending requests using the HTTP protocol to IIS or Apache web servers.

Types of validation controls provided by asp.net, Types of validation contr...

Types of validation controls provided by ASP.Net There are following types of validation controls provided by ASP.Net: 1. Required Field Validator 2. Compare Validator

Explain the different types of buses with neat diagram, Explain the differe...

Explain the different types of buses with neat diagram. When a word of data is transferred among units, all the bits are transferred in parallel over a set of lines known as bu

What is open addressing, Open addressing:  The easiest way to resolve a co...

Open addressing:  The easiest way to resolve a collision is to begin with the hash address and do a sequential search by the table for an empty location. The idea is to place the

What are the advantages of using uml, Benefits of using UML breaks the comp...

Benefits of using UML breaks the complex system into discrete pieces that can be understood simply. Handover the system to new team becomes simpler. Complex system can be un

AWS, aws hosting

aws hosting

Why is the data bus in most microprocessors bidirectional, Why is the data ...

Why is the data bus in most microprocessors bidirectional while the address bus is unidirectional?  Data Bus:  These lines are used to send data to memory by output ports and

Why we need number systems, Q. Why we need number systems? Number syste...

Q. Why we need number systems? Number system is used to signify information in quantitative form. Some of the general number systems are octal, decimal, hexadecimal and binary.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd