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

Senior project, any ideas about senior project topic

any ideas about senior project topic

What is the purpose of guard bits, What is the purpose of guard bits used i...

What is the purpose of guard bits used in floating point operations? The guard bits are the extra bits which are used to retain the in-between steps to enhance the accuracy in

Explain high level data link control, Explain High Level Data Link Control....

Explain High Level Data Link Control. HDLC - it is High Level Data Link Control: Protocol Overall explanation: Layer 2 of the OSI model is the data link layer. One of the

Recombination and mutation, Recombination and Mutation: In such a scen...

Recombination and Mutation: In such a scenario the point of GAs is to generate population after population of individuals that represent possible solutions to the problem at h

Microprocessor, illustration of Z80 instruction set Computer

illustration of Z80 instruction set Computer

Define the abstraction of OOA, Define the Abstraction of OOA Now, let ...

Define the Abstraction of OOA Now, let us see how objects can be seen as a problem, and find their associated data and their behaviour. You will notice that an object is an ab

Design and development of an information system, This assignment consists o...

This assignment consists of design and development of an information system. The first part of the assignment consists of the design, which includes construction of ER and DFD diag

Illustrate basic strategy used in raid, Q. Illustrate Basic strategy used i...

Q. Illustrate Basic strategy used in RAID? Basic strategy used in RAID is to replace large capacity disk drive with multiple smaller capacity disks. Data on these disks is dist

Enum statement differ from a typedef statement, How does an enumstatement d...

How does an enumstatement differ from a typedef statement? Typedef statement permits user to define an identifier that would show an exiting data type. The user-defined data

What is basic analog design, What is basic Analog Design? Analog design...

What is basic Analog Design? Analog design is rather challenging than digital design as analog circuits are sensitive to noise, operating voltages, loading circumstances and ot

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