address of each byte is printed...each byte is 32 bit long...so 32/4=8 hex for each row...but how these are separated with %.2x tin group of 2's....%.2x means min. 2 width ..if <2..then leading zeros... so it should be ("%.2x",start[i]); start[i] in 2 but it is more so ignored...print start[i]....still how these are able to grouped??
On Fri, Oct 26, 2012 at 1:53 AM, rahul sharma <rahul23111...@gmail.com>wrote: > As per o/p below: > 00 00 80 3f > 01 00 00 00 > 44 ff 28 00 > 01 00 00 00 > > first byte address is first row. > second byte address is second row. > third byte address third row > and so on > > but how first row containg 3 values...as 1byte=2hexdigits..si only two > digits must be there. > and u said 44 ff 28 00 is address of i..how???getting a lot confused..plz > clearify..thnx in advance > > On Sun, Oct 21, 2012 at 1:10 AM, Saurabh Kumar <srbh.ku...@gmail.com>wrote: > >> Sorry, about that. >> Read it as: >> Yes a hex digit is represented by 4 bits but 1 Byte is being read using a >> char pointer* and you're printing the values in those Bytes. >> >> >> On 21 October 2012 01:03, Saurabh Kumar <srbh.ku...@gmail.com> wrote: >> >>> Sorry, I don't understand your question. *%.2x *is only a precision >>> specifier still. >>> (%.2x was used for neat formatting only, because you are printing the >>> values only 1 Byte long and a Byte can occupy at max 2digits in hex) >>> >>> >>>>hex representated by 4 bits. >>> Yes hex is represented by 4 bits i.e. 1 Byte and that's what you are >>> reading with a char pointer*, 1 Byte each time and printing the values in >>> those Bytes. >>> >>> >>>>total we have to represent 32 bits and 8 bits in each....plz xplain >>> Each output represents 32bits only. 1 Byte each (in total 4Bytes) >>> >>> It's showing you the memory layout. You stored *i = 1; *and when probed >>> it using a char pointer. you found following four bytes written: *01 >>> 00 00 00* >>> It shows that on your machine: >>> 1. int is 4bytes long. (4x1Byte) >>> 2. First byte stores the least significant value, hence you are working >>> on a Little endian machine. >>> >>> similarly, for pointer: >>> char pointer reads 1 Byte at a time. It read 4Bytes in total i.e. 32 >>> bits. Hence, you are working on a 32 bit machine. (as pointer has >>> value: *44 ff 28 00, *address of i)*.* >>> * >>> * >>> * >>> * >>> PS: This is an algorithm group, please refrain from asking such language >>> specific questions. >>> >>> On 21 October 2012 00:19, rahul sharma <rahul23111...@gmail.com> wrote: >>> >>>> Actually i have taken form http://www.geeksforgeeks.org/archives/730 >>>> Please explain me o/p...as hex representated by 4 bits....then how cum >>>> is following o/p >>>> 00 00 80 3f >>>> 01 00 00 00 >>>> 44 ff 28 00 >>>> 01 00 00 00 >>>> >>>> total we have to represent 32 bits and 8 bits in each....plz xplain >>>> >>>> On Sun, Oct 21, 2012 at 12:05 AM, rahul sharma <rahul23111...@gmail.com >>>> > wrote: >>>> >>>>> void show_bytes(byte_pointer start, int len) >>>>> { >>>>> int i; >>>>> for (i = 0; i < len; i++) >>>>> printf(" %.2x", start[i]); >>>>> printf("\n"); >>>>> } >>>>> >>>>> >>>>> >>>>> byte_pointr is unsigned char *...typedef unsigned char * >>>>> byte_pointer.... >>>>> plz tell me use of %.2x i knowx is for hexa........does it mean print >>>>> 8 bites of address in 4 hexa of 2 bits???i cant get xactly plz explain >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Algorithm Geeks" group. >>>> To post to this group, send email to algogeeks@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> algogeeks+unsubscr...@googlegroups.com. >>>> For more options, visit this group at >>>> http://groups.google.com/group/algogeeks?hl=en. >>>> >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to algogeeks@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.