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 segment registers in bus interface unit, Q. Explain Segment Registe...

Q. Explain Segment Registers in bus interface unit? These are very significant registers of CPU. Why? We will answer this later. In 8086 microprocessor memory is a byte organiz

What is meant by inferring latches, What is meant by inferring latches, how...

What is meant by inferring latches, how to avoid it? Consider the following: always @(s1 or s0 or i0 or i1 or i2 or i3) case ({s1, s0}) 2'd0: out = i0; 2'd1: out =

Describe target processor arrangements, Q. Describe target processor arrang...

Q. Describe target processor arrangements? Having seen how to describe one or more target processor arrangements we need to initiate mechanisms for distributing data arrays ove

Explain the difference between a subroutine and macro, Explain the differen...

Explain the difference between a subroutine & macro. It is inefficient to have to write code for standard routines.  For instance reading a character form the keyboard or savin

Routines which handle dynamic processes, Q. Routines which handle dynamic p...

Q. Routines which handle dynamic processes? number of routines which handle dynamic processes:  int pvm_joingroup( char *group ) Enrolls calling process in a na

What is synchronous transmission, What is synchronous transmission? In ...

What is synchronous transmission? In synchronous transmission the two units share a common frequency and bits are transmitted continuously at the rate dictated  by clock pulses

What is a customer-to-business transaction, What is a customer-to-business ...

What is a customer-to-business transaction? C2B (customer-to-business): The most significant activity into e-commerce isn’t selling. That is buying. Rather often which do

C programming, There is a pebble merchant. He sells the pebbles, that are u...

There is a pebble merchant. He sells the pebbles, that are used for shining the floor. His main duty is to take the length of the room’s sides. But he sometimes mistakes doing that

Example application - canonical genetic algorithm, Example Application: ...

Example Application: There are many fantastic applications of genetic algorithms. Conceivably my favorite is their usage in evaluating Jazz melodies done as part of a PhD proj

What is a diagonalization language ld, What is a Diagonalization language L...

What is a Diagonalization language LD?  The  diagonalization  language  having  of  all  strings  w  such  that  the  TM  whose  code is w does not accept when w is given as in

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