Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main()
- {
- int x; // auto short(16) signed int x;
- return 0;
- }
- signed => MSB => -ve
- unsigned => MSB => +ve
- MSB --> Most Significant bit
- 2^3 2^2 2^1 2^0
- 8 4 2 1
- 5 0 1 0 1
- 7 0 1 1 1
- SIGNED
- -2^3 2^2 2^1 2^0
- -8 4 2 1
- Size : 4 bit
- Signed MSB : -ve
- SIGNED
- -2^3 2^2 2^1 2^0
- -8 4 2 1
- 0 0 0 0 0
- 0 0 0 1 1
- 0 0 1 0 2
- 0 0 1 1 3 MSB 0 result is Positive
- 0 1 0 0 4
- 0 1 0 1 5
- 0 1 1 0 6
- 0 1 1 1 7 Max 0 All 1's
- 1 0 0 0 -8 Min 1 All 0's
- 1 0 0 1 -7 -1 All 1's
- 1 0 1 0 -6 MSB 1 result is negative
- 1 0 1 1 -5
- 1 1 0 0 -4
- 1 1 0 1 -3 Range : -8 to 7
- 1 1 1 0 -2 -8 : -2^(4-1)
- 1 1 1 1 -1 7 : [2^(4-1)] -1
- -2^(n-1) to [2^(n-1)]-1
- 6 Bits
- Signed MSB -ve
- -2^5 2^4 2^3 2^2 2^1 2^0
- -32 16 8 4 2 1 -2^(n-1) to [2^(n-1)]-1
- 17 0 1 0 0 0 1 -32 to 31
- 26 0 1 1 0 1 0
- 31 0 1 1 1 1 1
- 20 0 1 0 1 0 0
- char or signed char Size : 8 bit -2^7
- Range : -128 to 127
- Example : '1' 'a' 'A' 'b' '+'
- 8 Bits
- Signed MSB -ve
- -2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
- -128 64 32 16 8 4 2 1
- 'a' (97) 0 1 1 0 0 0 0 1
- ASCII table
- 'A' 65
- 'B' 66
- 'C' 67
- 'Z' 90
- 'a' 97
- 'b' 98
- 'c' 99
- 'd' 100
- void main()
- {
- printf("%d",10.5); GV FS does not convert
- }
- void main()
- {
- int x=97; int -> binary value 1010
- float y=2.5; IEEE754 Standard representation form
- printf("%d %c %f" ,x,x,x); 97 a gv
- }
- %d print binary value (01100001) 100
- %c print binary value ( 01100001) 'd'
- %f print IEEE form value
- %f will not print binary value
- int --> Binary form
- char --> Binary form
- float --> IEEE754
- void main()
- {
- printf("%d ",10.4); GV
- printf("%c ",10.4); gv
- printf("%d ",100); 100
- printf("%c ",100); d
- printf("%f ",100); GV
- printf("%c %d",97,97); a 97
- }
- void main()
- {
- char ch;
- ch='A';
- printf("%d",ch); 65
- }
- void main()
- {
- char ch;
- ch=65;
- printf("%d",ch); 65
- }
- void main()
- {
- char ch; Range : -128 to 127
- ch= 128; /// ch=127+1; -128 64 32 16 8 4 2 1
- printf("%d",ch); -128 127 0 1 1 1 1 1 1 1
- 1 0 0 0 0 0 0 0 1 Binary Addition
- } 1 1 1 1 1 1 1
- 1 0 0 0 0 0 0 0 -128
- ch=129 >> ch=127+2 -127
- ch=130 >> ch=127+3
- void main()
- {
- char ch=-129; //ch=-128-1;
- printf("%d",ch); 127
- }
- -128 64 32 16 8 4 2 1
- -128 1 0 0 0 0 0 0 0
- -1 1 1 1 1 1 1 1 1 Binary Addition
- 0 1 1 1 1 1 1 1 127
- char ch=-130; 126
- char ch=-131; 125
- 4bit Unsigned Char
- MSB +ve
- UNSIGNED
- 2^3 2^2 2^1 2^0
- 8 4 2 1
- 0 0 0 0 0
- 0 0 0 1 1
- 0 0 1 0 2
- 0 0 1 1 3
- 0 1 0 0 4
- 0 1 0 1 5
- 0 1 1 0 6
- 0 1 1 1 7 Max All 1's
- 1 0 0 0 8 Min All 0's
- 1 0 0 1 9
- 1 0 1 0 10
- 1 0 1 1 11
- 1 1 0 0 12
- 1 1 0 1 13 Range : 0 to 15
- 1 1 1 0 14
- 1 1 1 1 15 15 : 2^(4)-1
- : 0 to 2^(n)-1
- Value SIGNED Unsigned Value
- -8 4 2 1 8 4 2 1
- 0 0 0 0 0 0 0 0 0 0 Min
- -5 1 0 1 1 1 0 1 1 11
- -3 1 1 0 1 1 1 0 1 13
- -4 1 1 0 0 1 1 0 0 12
- 6 0 1 1 0 0 1 1 0 6
- Min -8 1 0 0 0 1 0 0 0 8
- -6 1 0 1 0 1 0 1 0 10
- -1 1 1 1 1 1 1 1 1 15 Max
- Max 7 0 1 1 1 0 1 1 1 7
- Signed Unsigned
- Size n bits n bits
- Range -2^(n-1) to 2^(n-1)-1 0 to [2^n] -1
- Min BV 1 All 0's n 0,s
- Max BV 0 [n-1] 1's n 1's
- All 1's -1 Max
- Unsigned Char or char Signed
- Size : 8 bits
- FS : %c Example: 'a' 'b'
- range : 0 to 2^8 -1 = 255
- void main()
- {
- char Unsigned ch;
- ch=-1;
- printf("%d",ch); 255
- }
- Signed unsigned
- -1 1 1 1 1 1 1 1 1 255
- *****************
- bit 6
- Signed -32 to 31
- unsigned 0 to 63
- ************************
- range : 0 to 255
- Unsigned Char or char Signed
- Size : 8 bits
- FS : %c Example: 'a' 'b'
- range : 0 to 2^8 -1 = 255
- void main()
- {
- char Unsigned ch;
- ch = 256; /// 255+1
- printf("%d",ch); 0
- }
- 255 1111 1111
- 1 0000 0001
- 0000 0000 0
- *********************************
- int short 16 long 32
- char 8 bit
- ---------------------------------------
- Signed Integer
- int / signed int / signed int short / short(16)
- Size : 16 MSB -2^15
- Range : -2^(15) to 2^(15)-1 -32768 to 32767
- FS : %d or %i
- void main()
- {
- short s;
- s= 32767+1;
- printf("%d",s); -32768
- }
- 32767 0111 1111 1111 1111
- 2 0000 0000 0000 0010 Binary Addition
- 1000 0000 0000 0001 -32767
- 32767 0111 1111 1111 1111
- 1 0000 0000 0000 0001 Binary Addition
- 1000 0000 0000 0000 -32768
- void main()
- {
- short s;
- s= 200*200 /200; 40000 convert to signed will be-ve
- if(s==200)
- {
- printf("Hello");
- }
- else
- {
- printf("Hai"); ///prints HAI
- }
- }
- void main()
- {
- short s=1; 16bit -32768 to 32767
- while( s++>=1) s = -32767
- {
- ;
- }
- printf("%d",s); -32767
- }
- -----------------------------------------------
- unsigned int short / short unsigned int / short unsigned / unsigned / int unsigned
- size : 16 bits
- Range : 0 to (2^16)-1 = 65535
- FS : %u
- void main ()
- {
- unsigned short int u;
- u=-1;
- printf("%d",u); 1111 1111 1111 1111 1111 : 65535
- } 65535
- void main ()
- {
- unsigned short int u;
- u=-2;
- printf("%d",u); 1111 1111 1111 1111 1110 : 65534
- }
- Signed short int 16bit +-32768 to 1 Unsigned
- 0 0000 0000 0000 0000 0
- 15 0000 0000 0000 1111 15
- 255 0000 0000 1111 1111 255
- 32767 0111 1111 1111 1111 32767
- -32768 1000 0000 0000 0000 32768
- -32760 1000 0000 0000 1000 32776
- void main()
- {
- unsigned short int u;
- u=-1; 1111 1111 1111 1111
- printf(" %d %i %o %x %X %u ",u,u,u,u,u,u); -1 -1 177777 ffff FFFF 65535
- }
- void main()
- {
- unsigned short int u;
- for(u=5;u>=0;u=u-1) u= 5 4 3 2 1 0 65535 65534 65533...... 0 65535
- printf("%u",u);
- } Infinite Times
- 5-1= 4
- 4-1= 3
- 3-1= 2
- 2-1= 1
- 1-1= 0
- 0-1= -1
- -----------------------------------------------
- void main()
- {
- unsigned u =2;
- signed s=-3;
- if(s>=u) 1111 1111 1111 1101 ++++ 0000 0000 0000 0010
- {
- printf("Hello"); Type Promotionality Rule
- }
- else
- {
- printf("Hai");
- } Hello
- }
- ****************************************
- --------> -3 + 2 = -1
- unsigned u =2;
- signed s=-3;
- u + s = typed converted on stored.
- ***************************************
- Type Casting
- int s1=80,s2=85,s3=86;
- int total;
- float avg;
- total=s1+s2+s3;
- avg= total/3; 83 83.000
- avg= total/3.0; 83.3333
- avg= (float)total/3; explict type casting
- -----------------------------------------------
- int a;
- a=3.5; ---- a=(int)3.5; implict type casting
- ***********************************************
- Priority
- 1. ! ++ -- (t.c)
- 2. * / %
- 3. + -
- 4. < > <= >=
- 5. == !=
- 6. &&
- 7. ||
- 8. ?:
- 9. =
Add Comment
Please, Sign In to add comment