|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI: Decimal encoding - why 64 bits ?David, I went back to the mailing list - and there was a clear consensus to keep it to 64 bits (my original proposal was unlimited and I suggested rhen 128 to alleviate concerns about conversion difficulty for unlimited numbers). The issue was raised without checking the libraries: In Gnu 64bit integers are fully supported In Windows - here is the quote from MSDN: long-suffix unsigned-suffix(subscript: opt) unsigned-suffix : one of u U long-suffix : one of l L 64-bit integer-suffix : i64 To specify integer constants using octal or hexadecimal notation, use a prefix that denotes the base. To specify an integer constant of a given integral type, use a suffix that denotes the type. To specify a decimal constant, begin the specification with a nonzero digit. For example: int i = 157; // Decimal constant int j = 0198; // Not a decimal number; erroneous octal constant int k = 0365; // Leading zero specifies octal constant, not decimal To specify an octal constant, begin the specification with 0, followed by a sequence of digits in the range 0 through 7. The digits 8 and 9 are errors in specifying an octal constant. For example: int i = 0377; // Octal constant int j = 0397; // Error: 9 is not an octal digit To specify a hexadecimal constant, begin the specification with 0x or 0X (the case of the "x" does not matter), followed by a sequence of digits in the range 0 through 9 and a (or A) through f (or F). Hexadecimal digits a (or A) through f (or F) represent values in the range 10 through 15. For example: int i = 0x3fff; // Hexadecimal constant int j = 0X3FFF; // Equal to i To specify an unsigned type, use either the u or U suffix. To specify a long type, use either the l or L suffix. For example: unsigned uVal = 328u; // Unsigned value long lVal = 0x7FFFFFL; // Long value specified // as hex constant unsigned long ulVal = 0776745ul; // Unsigned long value I don't know about Windmills - but I assume that most modern development environments are supporting 64bit integers. Are we going to take for granted any assertion made on the list? Julo Black_David@emc.c om To: Julian Satran/Haifa/IBM@IBMIL, ips@ece.cmu.edu cc: 07/02/2002 10:36 Subject: RE: iSCSI: Decimal encoding - why 64 bits ? PM Please respond to Black_David Easy does it. First of all - if someone will go find the mail thread that discussed this (I also recall a discussion of numbers vs. binary items) I'll take a look at it and make a WG chair determination of what was or was not concluded. Kevin's comment that decimal ought to be limited to 32 bits is still valid at this point - a reference to prior discussions without specifics isn't enough to dismiss it. My rough recollection of the discussion partially matches Julian's - we reduced the required size to 64 bits from unlimited on the assumption that platforms could cope with this ... and now Kevin has raised the issue that two platforms he considers important don't cope well with 64 bit arithmetic. I don't recall discussion of whether to limit to 32 bits vs. 64 bits. For now, this issue is open. Thanks, --David -----Original Message----- From: Julian Satran [mailto:Julian_Satran@il.ibm.com] Sent: Tuesday, July 02, 2002 3:23 PM To: ips@ece.cmu.edu Subject: RE: iSCSI: Decimal encoding - why 64 bits ? It was never supposed to be removed. Many values are passed around as decimal. We can't make any progress if we keep hitting the same things again-and-again after a decent consensus has been reached. And none of you has brought an argument that was not heard and dismissed before. Remember we moved from unlimited length decimal to 64 bit to alleviate implementer fears. Julo Bill Studenmund <wrstuden@wasabisystem To: "THALER,PAT s.com> (A-Roseville,ex1)" <pat_thaler@agilent.com> cc: "LEMAY,KEVIN (A-Roseville,ex1)" <kevin_lemay@agilent.com>, 07/02/2002 10:03 PM Julian Satran/Haifa/IBM@IBMIL, <ips@ece.cmu.edu> Please respond to Bill Studenmund Subject: RE: iSCSI: Decimal encoding - why 64 bits ? On Tue, 2 Jul 2002, THALER,PAT (A-Roseville,ex1) wrote: > Bill, > > The decimal encoding is not just for numbers. It is also allowed for > binary-values. Both CHAP and SRP exchange items that are identified as > binary-values. In general these will be longer than 64 bits, but in > cases where they are 64 bits or less the decimal encoding is currently > allowed so we would have to support it. I thought we had a big discussion about this, and we decided that decimal was only used for numbers, hex for numbers and binary, and base64 only for binary items. ?? Doh! I just looked in -14, and the text doesn't reflect that understanding. Hmmm. > The issue is that currently decimal encoding is allowed for > binary-values and numbers less than 64 bits. There is little need for > it over 32 bits. We have two other entirely adequate representations > for those numbers. Why have something in there that causes extra code > for no benefit? All I can say is I thought it was removed. :-| Take care, Bill
Home Last updated: Wed Jul 03 10:18:52 2002 11093 messages in chronological order |