From: Pete_UK on 15 Dec 2009 19:34 Ah, so it IS better then, Mike !!! <ebg> Pete On Dec 15, 10:36 pm, Mike H <Mi...(a)discussions.microsoft.com> wrote: > Ron, > > It now becomes almost surreal the way Excel help works. Convinced that > certainly you and probably not myself are mad I checked again. > > I enter BIN2DEC in excel help and I get a help category > > Convert numbers to different number systems > > Not unreasonably (I think) I click this and there is a list of all the > conversion formula with the header I posted in my other post i.e. NO mention > of the limitation 'feature' of this formula. > > Also when I enter BIN2DEC I see an option > > List of worksheet functions (by category) > > When I click this and then click 'Engineering functions' and navigate to > BIN2DEC the formula is described with the limitation. > > So it seems that in E2007 it depends on where you look for help is a > critical factor in getting a precise answer. Well done Microsoft. > > Mike > > > > "Mike H" wrote: > > Ron, > > > 100% definitely not in my E2007 just the intro header I posted in my other > > post then a description of the syntax for each of the formulae. > > > Excel 2007 (12.0.6514.5000) SP2 MSO (12.0.6425.1000) > > > Mike > > > "Ron Rosenfeld" wrote: > > > > On Tue, 15 Dec 2009 11:14:01 -0800, Mike H <Mi...(a)discussions.microsoft.com> > > > wrote: > > > > >I just checked E2003 and you are correct but there is no such explanation of > > > >this limitation in E2007 help reproduced below > > > > That's funny. With Excel 2007, when I look at HELP for BIN2DEC, I see: > > > > Number is the binary number you want to convert. Number cannot contain more > > > than 10 characters (10 bits). The most significant bit of number is the sign > > > bit. The remaining 9 bits are magnitude bits. Negative numbers are represented > > > using two's-complement notation. > > > > Seems pretty clear to me. > > > --ron > > > .- Hide quoted text - > > - Show quoted text -
From: Ron Rosenfeld on 15 Dec 2009 20:30 On Tue, 15 Dec 2009 14:36:01 -0800, Mike H <MikeH(a)discussions.microsoft.com> wrote: >Ron, > >It now becomes almost surreal the way Excel help works. Convinced that >certainly you and probably not myself are mad I checked again. > >I enter BIN2DEC in excel help and I get a help category > >Convert numbers to different number systems > >Not unreasonably (I think) I click this and there is a list of all the >conversion formula with the header I posted in my other post i.e. NO mention >of the limitation 'feature' of this formula. > >Also when I enter BIN2DEC I see an option > >List of worksheet functions (by category) > >When I click this and then click 'Engineering functions' and navigate to >BIN2DEC the formula is described with the limitation. > >So it seems that in E2007 it depends on where you look for help is a >critical factor in getting a precise answer. Well done Microsoft. > >Mike > > Mike, The first sequence I went through was to access help for BIN2DEC using the function wizard. ie. Type =bin2dec in the function bar; select the Fx; select HELP on the dialog box. This brings up help for that particular function. So then I typed bin2dec in Excel help --> ========================================== Engineering functions (reference) Help > Function reference > Engineering Convert numbers to different number systems Help > Formula and name basics > Examples of formulas > Conversion List of worksheet functions (alphabetical) Help > Function reference List of worksheet functions (by category) Help > Function reference ===================================== Selection #2 was the obvious and, in addition to the information you posted earlier, also had a "What do you want to do?" line. I select "Convert a binary number to decimal" which takes me down to an area which gives both an example, and an option to select the details of the BIN2DEC function. When I select that hyperlink, it takes me to the info on the BIN2DEC function including its limitations. To me, it seems like a logical progression. If you're not seeing that, I would suspect a problem with Internet Explorer. I have had a problem with display of HELP files; the usual solution has to do with clearing temporary Internet files, etc. However, I progressed through a variety of solutions until the next step was to reinstall Windows XP. (I didn't do that since I was planning to upgrade to Windows 7 anyway, and that solved the problem). --ron
From: Rick Rothstein on 15 Dec 2009 21:28 Below is a UDF that will handle up to a 96-bit binary number (decimal value 79228162514264337593543950335) which I'm guessing is way more than you will ever need.<g> The code is efficient (looping only as many times as necessary to process the passed in binary value), so don't worry about it being able to handle such a large binary value. The function returns a real numeric value up to 9999999999 after which it returns text representations of the calculated number. Function BinToDec(BinaryString As String) As Variant Dim X As Integer Const TwoToThe48 As Variant = 281474976710656# For X = 0 To Len(BinaryString) - 1 If X > 48 Then BinToDec = CDec(BinToDec) + Val(Mid(BinaryString, _ Len(BinaryString) - X, 1)) * _ TwoToThe48 * CDec(2 ^ (X - 48)) Else BinToDec = CDec(BinToDec) + Val(Mid(BinaryString, _ Len(BinaryString) - X, 1)) * CDec(2 ^ X) End If Next If Len(BinToDec) > 10 Then BinToDec = CStr(BinToDec) End Function -- Rick (MVP - Excel) "ahmedmidany" <ahmedmidany(a)gmail.com> wrote in message news:54419773-9aa7-42be-bdac-67800c8194db(a)m26g2000yqb.googlegroups.com... > Hello All, > > I need your help, i want to convert large binary numbers using excel > but whenever i use the BIN2DEC function the result is negative which > is not correct. > > Ex. BIN2DEC(1100110110) the result is -202 but if i use the calculator > the result is 822 which is the correct value > > Any ideas? what shall i do to have the correct value? > > Thanks in advance > A.M.
From: Bernd P on 20 Dec 2009 04:19 Hello, I moved my webpage: http://sulprobil.com/html/longdec2bin.html And I provided an example file to download. Rick's code is about 20x faster than mine, my code offers negative numbers, fractions and (which you might never need) even larger numbers. Regards, Bernd
From: Dana DeLouis on 21 Dec 2009 21:46 On 12/15/2009 9:28 PM, Rick Rothstein wrote: > Below is a UDF that will handle up to a 96-bit binary number (decimal > value 79228162514264337593543950335) which I'm guessing is way more than > you will ever need.<g> The code is efficient (looping only as many times > as necessary to process the passed in binary value), so don't worry > about it being able to handle such a large binary value. The function > returns a real numeric value up to 9999999999 after which it returns > text representations of the calculated number. > > Function BinToDec(BinaryString As String) As Variant > Dim X As Integer > Const TwoToThe48 As Variant = 281474976710656# > For X = 0 To Len(BinaryString) - 1 > If X > 48 Then > BinToDec = CDec(BinToDec) + Val(Mid(BinaryString, _ > Len(BinaryString) - X, 1)) * _ > TwoToThe48 * CDec(2 ^ (X - 48)) > Else > BinToDec = CDec(BinToDec) + Val(Mid(BinaryString, _ > Len(BinaryString) - X, 1)) * CDec(2 ^ X) > End If > Next > If Len(BinToDec) > 10 Then BinToDec = CStr(BinToDec) > End Function > Hi. Just throwing out another idea. Len(BinaryString) is more of a constant (calculated each loop), and power (ie 2^x) is sometimes considered "slower." This has no error checking. Function Bin2Dec(str As String) Dim S As String Dim P As Long Dim K As Variant Dim Ans As Variant S = StrReverse(str) K = CDec(1) For P = 1 To Len(S) - 1 Ans = Ans + Val(Mid$(S, P, 1)) * K K = K * 2 Next P Bin2Dec = Ans + Val(Mid$(S, P, 1)) * K End Function Sub TestIt() Dim S As String S = WorksheetFunction.Rept("1", 96) Debug.Print Bin2Dec(S) Mid(S, 3, 1) = 0 Debug.Print Bin2Dec(S) Mid(S, 96, 1) = 0 Debug.Print Bin2Dec(S) Mid(S, 95, 1) = 0 Debug.Print Bin2Dec(S) Debug.Print "= = = = = = = =" End Sub Returns: 79228162514264337593543950335 69324642199981295394350956543 69324642199981295394350956542 69324642199981295394350956540 = = = = = = = = Again, just an idea. Dana DeLouis
First
|
Prev
|
Pages: 1 2 3 4 Prev: How do I prevent duplicate entry of a sku in a data table? Next: If or conditional formatting? |