Chapter+2+-+Types,+Operators+and+Expressions


 * ~ Ex No ||~ Pg No ||~ Exercise ||~ Solution ||~ Solved by ||
 * 1 || 36 || Write a program to determine the ranges of char, short , int , and long variables, both signed and unsigned , by printing appropriate values from standard headers and by direct computation. Harder if you compute them: determine the ranges of the various floating-point types. || [| Listing krx201] || Rick Dearman ||
 * 2 || 42 || Write a loop equivalent to the for loop above without using && or || . || [| Listing krx202] || "flippant_squirrel" (!) and Craig Schroeder ||
 * 3 || 46 || Write the function htoi(s), which converts a string of hexadecimal digits (including an optional 0x or 0X) into its equivalent integer value. The allowable digits are 0 through 9, a through f, and A through F . || [| Listing krx203] || Me ||
 * 4 || 48 || Write an alternate version of squeeze(s1,s2) that deletes each character in the string s1 that matches any character in the //string//  s2 . || [| Listing krx204] || Me ||
 * 5 || 48 || Write the function any(s1,s2), which returns the first location in the string s1 where any character from the string s2 occurs, or -1 if s1 contains no characters from s2 . (The standard library function strpbrk does the same job but returns a pointer to the location.) || [| Listing krx205] || The pedestrian solution is mine, and the clever one is by Partha Seetala. ||
 * 6 || 49 || Write a function setbits(x,p,n,y) that returns x with the n bits that begin at position p set to the rightmost n bits of y, leaving the other bits unchanged. || [| Listing krx206] || Me ||
 * 7 || 49 || Write a function invert(x,p,n) that returns x with the n bits that begin at position p inverted (i.e., 1 changed into 0 and vice versa), leaving the others unchanged. || [| Listing krx207] || Gregory Pietsch ||
 * 8 || 49 || Write a function rightrot(x,n) that returns the value of the integer x rotated to the right by n bit positions. || [| Listing krx208] || Gregory Pietsch ||
 * 9 || 51 || In a two's complement number system, x &= (x-1) deletes the rightmost 1-bit in x . Explain why. Use this observation to write a faster version of bitcount . || [| Listing krx209] || Gregory Pietsch ||
 * 10 || 52 || Rewrite the function lower, which converts upper case letters to lower case, with a conditional expression instead of if-else . ||