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

Explain the process of theory driven discovery, Question 1 Explain brie...

Question 1 Explain briefly the process of matching production rules against working memory 2 Explain Simplification, Conjunction and Transportation in propositional logic by

Level of any node of a tree, Level of any node of a tree is :- Its distanc...

Level of any node of a tree is :- Its distance from the root

What layers are covered under end to end layer connectivity, What layers ar...

What layers are covered under end to end layer connectivity? The layers 4 to 7 of ISO-OSI reference model communicate along with peer entities into the end systems. There is n

The three main elements of ldb, The three main elements of LDB are:- St...

The three main elements of LDB are:- Structure Selections and Database Program.

What is preemptive and nonpreemptive scheduling, What is preemptive and non...

What is preemptive and nonpreemptive scheduling? Under nonpreemptive scheduling once the CPU has been allocated to a process, the process keeps the CPU unless it releases the C

Write a c++ program to explain three specific classes, Make a base class ca...

Make a base class called figure that store the dimensions of several geometrical objects and compute their areas. Explain a function set_dim( ),a standard member  function and show

Fixed arithmetic pipelines, Fixed Arithmetic pipelines  We obtain the e...

Fixed Arithmetic pipelines  We obtain the example of multiplication of fixed numbers. The Two fixed-point numbers are added by the ALU using shift and add operations. This sequ

Do you provide storage and destruction services, Do you provide storage and...

Do you provide storage and destruction services? We will assess your storage and destruction needs as part of our evaluation process. Our destruction services can be performed

Linux, Discuss the risks of having a single root user and how more limited ...

Discuss the risks of having a single root user and how more limited management abilities can be given to others users on Linux/UNIX systems

Returns information about present virtual machine, Q. Returns information a...

Q. Returns information about present virtual machine? int pvm_parent( void ) Returns the tid of process which spawned the calling process.  int pvm_tidtohost(

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