3: Operators and Control Flow

QR Code ISO/IEC18004 Drawer In C#.NETUsing Barcode printer for Visual Studio .NET Control to generate, create QR Code image in .NET applications.

As shown in Figure 32, each box corresponds to a value of 2 raised to the power shown The value of the byte (8-bit number) is the sum of the powers of 2 of all of the eight bits that are set to 1

Bar Code Drawer In Visual C#Using Barcode generator for Visual Studio .NET Control to generate, create barcode image in VS .NET applications.

7= 4 + 2 + 1

QR-Code Creation In VS .NETUsing Barcode generation for ASP.NET Control to generate, create QR Code 2d barcode image in ASP.NET applications.

Figure 32: Calculating the Value of an Unsigned Byte

Generating QR Code In Visual Studio .NETUsing Barcode generator for Visual Studio .NET Control to generate, create QR-Code image in .NET applications.

The binary translation just described is significantly different for signed numbers Signed numbers (long, short, int) are represented using a 2s complement notation This is so that addition continues to work when adding a negative number to a positive number as though both were positive operands With this notation, negative numbers behave differently than positive numbers Negative numbers are identified by a 1 in the leftmost location If the leftmost location contains a 1, you add the locations with 0s rather than the locations with 1s Each location corresponds to the negative power of 2 value Furthermore, from the result, it is also necessary to subtract 1 This is demonstrated in Figure 33

Denso QR Bar Code Drawer In VB.NETUsing Barcode generation for Visual Studio .NET Control to generate, create QR-Code image in .NET applications.

0 = -4

Bar Code Creation In Visual C#.NETUsing Barcode generator for .NET framework Control to generate, create barcode image in .NET framework applications.

1 +0

Barcode Encoder In Visual C#Using Barcode drawer for .NET framework Control to generate, create bar code image in Visual Studio .NET applications.

Figure 33: Calculating the Value of a Signed Byte

Creating Code 39 Full ASCII In Visual C#.NETUsing Barcode creation for VS .NET Control to generate, create ANSI/AIM Code 39 image in .NET applications.

Therefore, 1111 1111 1111 1111 corresponds to 1 and 1111 1111 1111 1001 holds the value 7 1000 0000 0000 0000 corresponds to the lowest negative value that a 16-bit integer can hold

Code 128C Printer In Visual C#.NETUsing Barcode creator for .NET framework Control to generate, create Code 128 Code Set C image in Visual Studio .NET applications.

Shift Operators (<<, >>, <<=, >>=) Sometimes you want to shift the binary value of a number to the right or left In executing a left shift, all bits in a number s binary representation are shifted to the left by the number of locations specified by the operand on the right of the shift operator Zeroes are then used to backfill the locations on the right side of the binary number A right-shift operator does almost the

Generate Data Matrix 2d Barcode In C#Using Barcode maker for Visual Studio .NET Control to generate, create Data Matrix image in .NET applications.

Bitwise Operators ( <<, >>, |, &, ^, ~)

Encoding Barcode In VS .NETUsing Barcode generation for .NET Control to generate, create barcode image in .NET applications.

same thing in the opposite direction However, if the number is negative, then the values used to backfill the left side of the binary number are ones and not zeroes The shift operators are >> and <<, the right-shift and leftshift operators, respectively In addition, there are combined shift and assignment operators, <<= and >>= Consider the following example Suppose you had the int value -7, which would have a binary representation of 1111 1111 1111 1111 1111 1111 1111 1001 In Listing 337, you right-shift the binary representation of the number 7 by two locations

EAN13 Generation In JavaUsing Barcode generator for Java Control to generate, create EAN13 image in Java applications.

Listing 337: Using the Right-Shift Operator

Generating ECC200 In JavaUsing Barcode creation for Java Control to generate, create DataMatrix image in Java applications.

int x; x = (-7 >> 2); // 11111111111111111111111111111001 becomes // 11111111111111111111111111111110 // Write out "x is -2" SystemConsoleWriteLine("x = {0}", x);

Making GS1-128 In .NETUsing Barcode drawer for ASP.NET Control to generate, create USS-128 image in ASP.NET applications.

Output 317 shows the results of Listing 337

Barcode Creation In .NETUsing Barcode generation for ASP.NET Control to generate, create barcode image in ASP.NET applications.

OUTPUT 317:

Making Code39 In Visual Studio .NETUsing Barcode generation for ASP.NET Control to generate, create Code 3 of 9 image in ASP.NET applications.

x = -2

GS1 - 12 Decoder In .NET FrameworkUsing Barcode scanner for Visual Studio .NET Control to read, scan read, scan image in Visual Studio .NET applications.

Because of the right shift, the value of the bit in the rightmost location has dropped off the edge and the negative bit indicator on the left shifts by two locations to be replaced with 1s The result is -2

Create UPC-A Supplement 5 In JavaUsing Barcode creation for Java Control to generate, create UPC A image in Java applications.

Bitwise Operators (&, |, ^) In some instances, you might need to perform logical operations, such as AND, OR, and XOR, on a bit-by-bit basis for two operands You do this via the &, |, and ^ operators, respectively

Drawing Code39 In JavaUsing Barcode printer for Java Control to generate, create Code-39 image in Java applications.

BEGINNER TOPIC Logical Operators Explained If you have two numbers, as shown in Figure 34, the bitwise operations will compare the values of the locations beginning at the leftmost significant

GTIN - 128 Maker In Visual Studio .NETUsing Barcode drawer for VS .NET Control to generate, create USS-128 image in .NET applications.

3: Operators and Control Flow

value and continuing right until the end The value of 1 in a location is treated as true, and the value of 0 in a location is treated as false

Figure 34: The Numbers 12 and 7 Represented in Binary

Therefore, the bitwise AND of the two values in Figure 34 would be the bit-by-bit comparison of bits in the first operand (12) with the bits in the second operand (7), resulting in the binary value 000000100, which is 4 Alternatively, a bitwise OR of the two values would produce 00001111, the binary equivalent of 15 The XOR result would be 00001011, or decimal 11 Listing 338 demonstrates how to use these bitwise operators The results of Listing 338 appear in Output 318