Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I do not understand this requirement in this lab. Extract byte n from word x? For this example: getByte(0x12345678,1) = 0x56 I changed 0x12345678 into

I do not understand this requirement in this lab. Extract byte n from word x?

For this example: getByte(0x12345678,1) = 0x56

I changed 0x12345678 into binary, we can get 0000 0000 0001 0010 0011 0100 0101 0110 0111 1000

and change 0x56 into binary. 0000 0000 0101 0110

If I Extract byte 1 from word 0x12345678, we can get the answer by from right to left: 0.

If I Extract byte 4 from word 0x12345678, we can get the answer by from right to left: 1000

If I Extract byte 8 from word 0x12345678, we can get the answer by from right to left: 0111 1000

Why this answer is 0x56, for binary is 0000 0000 0101 0110 for n =1?

/* * getByte - Extract byte n from word x * Bytes numbered from 0 (LSB) to 3 (MSB) * Examples: getByte(0x12345678,1) = 0x56 * Legal ops: ! ~ & ^ | + << >> * Max ops: 6 * Rating: 2 */ int getByte(int x, int n) { // 0<<3 = 0, 1<<3 = 8, 2<<3 = 16, 3<<3 = 24 // each byte starts from (n<<3)th bit. int t = x >> (n << 3); // get 8 bits = 1 byte int r = t & 255; return r; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional Microsoft SQL Server 2014 Integration Services

Authors: Brian Knight, Devin Knight

1st Edition

1118850904, 9781118850909

More Books

Students also viewed these Databases questions