A19 ive been using the sym equation solver alot lately, and its annoying to keep entering the values in every time i go to use it. i stored the A and B matrix into.. well a matrix, although it stores A matrix as an array and the B matrix as a matrix, so when i try import these to the solver it will only let me choose arrays, and i have to type in ==== If you are entering matrices with the Matrix Writer, one of the soft-keys, VEC, selects wheter you want one-dimensional matrices returned as a matrix (1xn or nx1) or as a vector. -- The more things change, the more they stay insane. Eduardo M Kalinowski ==== Check out this Matrix program and it's documentation: http://www.hpcalc.org/hp49/math/numeric/mat49v10.zip ==== ==== I have had problems solving Ei(x) [integral limits between -x to oo of exp(-x)/x] When I compare solutions with those in Handbook of Mathematical functions Abramowitz and Stegun the results are different. The HP49G also takes a long time to come up with this apparent incorrect solution. ==== Please report this with expected and returned results - if it's a bug it has ==== But, as far as I know, the result for that integration cannot be ==== FWIW, the TI-89/92+'s nInt() function also has a hard time with e^(-x)/x, although the Integrate() function gives a somewhat accurate answer. My ExpIntEi() function can handle it (of course, because it was designed specially for this :) The TI-89/92+ weren't ==== thanks for your help. I will check this out. holger ==== Thats correct. With that command on the stack right shift P is the EVAL command which starts the transfer. The transfer should start and you will end up with a file in the current directry on the PC like 04-Aug-2001.hpbackup. If you've got a lat of sved data the transfer can ==== ==== HP49 has 4 built-in languages: HP-Basic, User RPL, System RPL and assembler. I don't know any external (for PC) C compilators for HP49, so you can't do ==== If you want to produce the sort of material that you mention then you are going to have to work in assembly level sRPL instead of the user programming language uRPL mentioned in the manual as it is so much faster and more powerful. Unlike the HP48/49 the HP40G is not set up to do this directly - you have to develop the app on another platform and transfer. All the really good games available for the HP39/40G are done like this. The most knowledgable people I know of aplet frame available on his site to which you can attach your code) and Lilian Pigallio < http://www.perso.atsat.com/pigallio/Hp48/Lil_hp48.htm and As was said, you should also check out hpcom.org. -- Colin Croft Old mathematicians never die; they just lose some of their functions. ==== I like the surveying pac on the hp41, does anyone have a program ==== I need a complete list of HP Basic commands with syntax. Can anyone tell me where to get it? Best would be information where to download. Winfried (HP49G) ==== Um, there is an HP4x emulator available for both Windows (laptops) and WinCE devices now. I use both versions, with a 48 rom image, but I think that the current version work with 49 images as well. I have an older keyboard pda running WinCE 2 -- an HP620. The 48 emulation works very nicely on it. It isn't a work likes, it is a REAL emulator. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ==== So if they consider statistics, they will probably have Windows as basis of it. Please see http://v1.nedstatbasic.net/s?tab=1&link=5&id=347091 and you can see the results below, for people that visit AREA48.com. 1. Windows 98 47.3 % 2. Windows ME 25.5 % 3. Windows 2000 10.9 % 4. Windows 95 5.5 % 5. Windows NT 3.6 % 6. Mac OS 1.8 % Unknown 3.6 % Total 100 % ==== I find it very disheartening to see the calc division slowly being dismembered. For example, one of the early casualties has been Charles Lim, who headed the project in HP Melbourne which resulted in the HP39/40G. Charles, of course, is quite happy to go on to bigger and better things, but for the rest of us we seem to be presiding over the slow death of a friend. Symptomatic is that the broken links on HPs web site to the aplet/e-lesson libraries for the HP38G, HP39G & HP40G have still not been repaired despite being reported to the web administrator a long time ago. Since access to aplets is absolutely central to using these calculators to their full potential, one has to question whether they are going to receive any support at all in time to come. Indeed I wonder how much longer they are even going to be manufactured. -- Colin Croft Old mathematicians never die; they just lose some of their functions. ====================================== Applications in Mathematics ccroft@iinet.net.au http://members.iinet.net.au/~ccroft/ ====================================== ==== Linear Interpolation is what I'm looking for. Problem's like: [T - T(sub 1)] / [T(sub 2) - T(sub1)] = [V - V(sub 1)] / [V(sub 2) - V(sub1)] and also Extrapolation which is similiar. All subscripted variables are known w/either T or V being knows as well and then solve for other variable. It's not hard at all it's just time consuming and time is valuable when taking the test. I'll look in stat's ==== If all you want to do is convert from any number base to any other then I program to do that. However it does nothing more with it than convert and the method used is incredibly clumsy due to the limitations of the language that you've already discovered. You might be able to enlarge it to perform operations on the results too. See the link on my page (http://members.iinet.net.au/~ccroft) to The First 50. -- Colin Croft Old mathematicians never die; they just lose some of their functions. ====================================== ==== I went to school the next day and found myself coping with students in tears. We may be in Australia but we're with you in spirit. I was pleased that our Prime Minister has pledged support. What worries most of us is how the US is going to react. We all understand how you must feel - God knows I would find it hard not to hate and not having an specific enemy in sight must make it very hard not to direct that hate at an entire ethnic group. Please try to remember that the vast majority of islamic groups and countries are not the evil animals that produced this despicable crime. -- Colin Croft Old mathematicians never die; they just lose some of their functions. ====================================== Applications in Mathematics ccroft@iinet.net.au ==== One really great place to start is the HP 48G Series Advanced User's Reference Manual. I know it a really big book (compared to all the 49's documentation combined), but the point is if there was ever any good documentation for the 49 in the first place (which people have been griping about all along), you would not be up to project. What I would really like to see is an Advanced Programming for Dummies manual that helps one advance from UserRPL to beyond (basically advanced programming for non-EE/CS types). Greg aimed about about guide of Changing programming, other ==== ==== Obviously rubber does not last longer than plastic on calculators ! My HP48GX romM has lots of years on it , 49's seldom see a year . You are a fool. ==== Steel belts last longer ? I think not ! Have you ever had any Continentals w/o steel ! I did . Only the U.S. was foolish enough to push that stupidity . Steel belts are for fearful types who want to run over pieces of steel on the road and nt have tire come apart . I and most Europeans steer around such hazards . ========================================= all ==== Just because some people don't know how to take care of calculators does not mean that they don't last longer. Plus, you are comparing your experiences with other people that you did not name. I have never heard of a 49 not lasting a year. You are a fool. ==== *sigh* I should have figured you were a european. As for being able to see a 3 inch long steel nail while driving down a highway at 60 miles per hour, I, along with every person I know, cannot see the obstacle to avoid it. Think before you speak, sir. ==== ==== I need not name them as they are here in this NG . Their K.B. wore out in less than one year . FOOL . It has nothing to do with taking care of your calc' it has to do with a serious error on H.P.'s part = Bad K.B. After many years of doing it right , they blew it . Ask how many here want molded plastic Keys for their 49's ! I refuse to buy the 49 only for this reason . ================================================ not experiences all ==== I have posted a message about how things are not perfect when they are mass produced, so you can go read that. Next time, don't run your mouth. My calc is fine, not the slightest sign of any wear and tear. And I don't care how many people want molded plastic keys. Some people like spaghetti with meat sauce, others like plain sauce (if you can't understand that comparison, I'm saying that different people like different things). BTW, I never asked, or wanted to know for that matter, why or why not you do not want an HP49G. I didn't want the HP48GX because it had the cheap, ==== My 48GX is very old and the keys are perfect . Ever hear anyone say that about 49 ? ==================================== ==== There aren't any old 49's yet. HP49 but including the ==== Actually, I do. Sorry, but my 49's keys are in tip-top shape. ==== ==== But many with obliterated markings on K.B. !!! ==================== POSSIBLE does are ==== Well, as everyone knows, no product that is mass produced can always turn out perfect. Mine did. Guess I was lucky. I never said that no one has problems (or I don't recall saying that, in better terms), but I am aware that some people have problems. Why do you think items have warranties? They aren't fool proof. ==== I have been asked by two people to write a complete ML Regular Expression Library. It should contain all the functionality of the RegExps in Emacs but work on strings instead of the editor (CMD). Remember that you can use the Emacs RegExp engine to do your occasional search/replace. This library would mainly be used for UsrRPL (Sys)programming. The commands suggested so far are: Find Find all FInd/Replace Find/Replace all Any suggestions for other useful commands? This library will be a lot of work and before I would start this, I would like to know how many of you would find this useful. ==== ML ! Such a great idea and huge efford! X Selection for search direction ==== Our news media is so gagged by govt ! As Arrafat and another top official were talking a Leb' youth was shot to death By who ? Leboneese , Isrealis , U.S. troops ? Of course it's by the U.S. backed Isreali storm troopers, war mongers ! ==== X X At least EVAL-APPLY is directly from Lisp. Unfortunately not everything works like it used to do in the HP-48GX. The new 49G doesn't allow me to use stepwise execution in algebraics. The name resolution or evaluation can no longer be done in step-by-step - No - not even in the Step-by-Step Mode. ==== So, i can use SETSTACKERR to generate the error Too Few Arguments, i just do in ML : LA 262E2 GOVLNG 05023 (this routine makes the error in A) Please, correct me if i am wrong. ==== ==== Is there any way to copy a library from my pc to my hp48 directly to port 2 ( I have a ramcard) instead copying it first to the stack? This is because i have lots of memory in a ramcard but i cant transfer large ==== Sorry, Jose Ramon ! No, not that I know of... 2 large any one know if there is a corresponding file for Vol 2 of the same series? And ==== Had to drop in my 2 cents here. I lurk in here from time to time, working more with computers now than anything related to engineering so my HP48 sits idle. Anyway you usually tell the quality of an edcuator by their calculator policy. Banning calculators = teach memorization. Allowing calculators, open book, notes = learn how to use the material, not just memorize formulas. I had one professor who taught us second semester x86 assembly language programming using MASM (microsoft assembler). He would tell us on all his tests we can bring in any book, notes, calculator, and Question #1 took me 4 pages and 2 hours to do with my class book, the book I got free when I bought my own copy of MASM, the class notes and my HP48. The first semester teacher gave us a 20 question final with true/false questions like MOV A,B moves data from register A to B (as opposed to B to A). I had plenty of other teachers who just wanted you to memorize a few formulas and spit them out on a test. I still remember serveral physics formulas but don't know how to use them. Of course I was real popular when I told my teacher/professor that I feel banning Anyway I'll step back out now. Eugene stored ==== Not trying to be rude, just giving an honest opinion. When I taught college physics and engineering, I stressed that the proper use of a slide rule (then outdated by fifteen years) required the user to know the answer, at least to an order of magnitude. And a calculator does not, so punching in a wrong number or operation can give an absurd answer. And that is why a good student (or whoever) will always estimate the answer before using the calculator, so that a major discrepancy (sp?) will set off an alarm. I believe in this so strongly ==== The remarkable thing here is that I was famous for calculationg numbers in my head. Therefore, either with a calculator OR totally without calculation equipments, like fingers, abacus, or a slide-rule I may have got the right answer. ==== How can I find out what rom version I am having ? ==== ==== Ask the waiter! Perhaps he might steer you towards a good vintage. Sorry, ==== I even opened up a new account on my dear friends Marja-Sisko's Outlook Express 6.0 And now I show up as Veli-Pekka Nousiainen BUT be aware! There is no vp.nousiainen@kolumbus.fi You have to reply to ms.nieminen at the same domain * SPECIAL THNX TO BERRY-SISTER FOR LOANING HER PC * IF ==== How nice that I am not the only bw wasting person now :-) No I haven't *heard* about the project. I have it in front of my eyes. I was drawing the next super calc and just gave it this name. Am I ==== Why would you bother disassembling the code when the source code is freely available. The way the extable works is that it supposes only ONE library #102 exists in the system and therefore look in the library table in the reserved RAM to see where it is saved. If the library is saved in a covered port, then the ROMPTAB contains an extended pointer including the address of the bank switching routine to call the library. You can use this method to find out where your library is saved. But this method is valid only if you're 100% sure that no other ==== This is what I have looked for :-) ==== alpha L shift 2 = < alpha L shift alpha = 2 L shift alpha 2 = 2 Your info don't work . ==================================== < ==== And how is that above gonna produce 2 [User Mode Off] WRONG ?!? ;-) X ==== Did you know there was a 49 discussion group on Yahoo! I didn't see any people from this NG there, so I thought I'd mention it ==== Yahoo! Thnx, Pivo ! A new forum to mess around ;-) ==== I'm there now. . . ;-) mine wasn't, I used my fingers. . . TW ~The enemy's gate is down. ====== When I first wanted a calculator for my studies (i am talking of myself as a basic calculator buyer), i was tempted by a ti89, one reason ticalc.org rocks, it is far better than hpcalc.org (i dont mean TIs are better). Having a nice website to DL my calc apps was the motor of my choice buying the ==== How is it better? (FIRST POST!!!) It has discussion areas and news, but almost all the discussion that goes on there is Port XXXXX game to my calculator! or Someone needs to make XXXX (evil dead 89 or something else ;-) game for my calculator. If you'd like unintelligent discussions, ticalc.org is great. There have been very few intelligent discussions on there that I have ever seen. It is slower getting updated compared to hpcalc.org. I've never had any problem finding things on hpcalc.org although I have been told by some people that it can be difficult to find things. If you are referring to information for beginners, ticalc.org is better than hpcalc.org. For comparison try Area48.com which has lots of great info for new 49 users. There are other places for intelligent TI discussions, but Ticalc.org is rarely one of them. But if you are willing to help, what is it that you'd like in a site. Better info for beginners? (area48) Huge Archive? (hpcalc.org) News? (comp.sys.hp48) Good friend i must say! ;-) TW ==== It's nice to see more and more people buying the 49G...I was very much tempted to buy a TI-89 since it does seem to have a lot more in terms of apps and user base (and because my teachers use em), but instead I went with the HP49G...it's hard to get used to at first, but everytime I use it I like it more...and most of the things that my teachers have done on theirs I have eventually figured out how to do on mine...just in case you're curious, I'm in algebra 2 this year (15 yrs old) a ==== Tim dont get me wrong ! I meant that ticalc is much more attractive than hpcalc not that it is more intelligent! Anyway i am satisfied of my 49 thx to your comparison ! :) Matthias LOPEZ almost calculator! or my great. seen. problem it Area48.com rarely ==== Humm. I have no problems to find interesting stuff in hpcalc.org, but having a look at ticalc.org I see that it is not better. Of course, ==== Assuming that Nick refers to my relatively easy spoken name, (in opposition to my family name, which must be a nightmare for most people ;-) ), I must say that I find your idea fantastic. My contributions to the hp49gmagazine would be more focused on the mathematics/physics side of problems and based on User RPL, as I consider myself (still) a beginner in System RPL. But the other gurus can of course always come and show us how things can be done better/faster. One question is, who is going to organize the site and on which server should it reside? Your words at God's ears, as we say in german. How nice would it be to discuss basically about a problem/question of science and *then* trying to find the optimal program for the problem/question. Many of the proposed programs could run (perhaps with minor modifications) on the 48 as well. Or we could mix all up. Or make a special place for each calc. Or, or, or... Greetings and what do the other people think? Nick body (DO NOT SEND ATTACHMENTS) in would get and of the wouldn't appreciated. here at that our the buy. that this Check out our new Unlimited Server. No Download or Time Limits! body (DO NOT SEND ATTACHMENTS) disorganized than they have to be anyway. It's obvious that a lot of work goes into that site. But it isn't all good work. And the site keeps changing all the time, adding to the confusion. Hpcalc.org supports the 48 series and the 49 series and they're a lot more alike than any two models of the TI calcs. The site's layout stays pretty much the same, with incremental changes from time to time. With any luck it will continue the same way. Barry myself as a ticalc.org better). Having buying the to promote would something in would get and of the wouldn't appreciated. here at that our because the buy. think that this ==== I think that Dan wanted a site that is more oriented towards science/eingineering and where the HP49G is the selected tool to solve problems. To me it means something like: Chapter 1, Statics Chapter 2, Kinematics Chapter 3, Dynamics ..... with selected problems from each chapter and how to solve them with the HP49G. (Like the books of Urroz, but online.) Something like this, anyway. This group is full of knowledge, but it is more for the calculator/programming-freaks, I think. Greetings, Nick. -0500) body (DO NOT SEND ATTACHMENTS) -0500) body (DO NOT SEND ATTACHMENTS) ==== Ahh. . . listen to the soothing words of poetry flowing from the screen. for the wonderful thought John. Who knew you were such a poet? Most of us didn't even know it? ;-) ==== Nope, this is not Wlodek, sorry... I believe that Jake Schwartz planned to included them in the PPC CD-ROMs he produces. These CD-ROMs includes old stuff no longer published but DATAFILE is still running and back numbers may be requested at a low price (almost for a song if you are a member!) I'm sure you understand that that amount of money can be very important for our club. I have just received all issues since 1995 and, man, what a beautiful vision! Happy ordering! HPCC member - body (DO NOT SEND ATTACHMENTS) ==== Thinking more about it, I think what might be useful and interesting for a lot of people might be a PDF file accessable maybe here or at hpcalc.org. This easily viewed and printed file, with very legible equations and keystroke sequences, would be a simple accumulation of a few problems each shared by a handful of people from varying ==== I know that's where it came from. I meant to type John Frost in my response. Oh well. It is an excellent application of an excellent poem either way. ;-) TW ~The enemy's gate is down. -0500) body (DO NOT SEND ATTACHMENTS) -0500) body (DO NOT SEND ATTACHMENTS) newssvr05.news.prodigy.com!newsmst01.news.prodigy.com!newscon02.news.prodigy . com!prodigy.com!cyclone.swbell.net!bos-service1.ext.raytheon.com!dfw-service 2 ==== ==== Actually, you can arbitrarily reorder your external libraries, using a tool called Libman (which itself is a small library). For instance, you may wish to have all game libraries on page 1, etc. You can also omit library titles in the LIB menu, to avoid a too large LIB menu listing. The library itself remains active. For instance, if you do not want the library extable to appear in the LIB menu choice (because you'll probably not use its commands directly), simply cancel it with Reord of Libman. Hope this helps Wolfgang I know =) I have Pivo's LMenu, cool and fast. But I was talking about the lib $CONFIGuration order on warm- or coldstart. Thomas -- ==== The LMenu tools form a rather small part of Libman which offers much more facilities. And it is as fast as LMenu in displaying a customized LIB menu. In addition, with Libman you can make your LIB menu context-sensitive, with LMenu not. The order in which the various $CONFIG are run is interesting only insofar as it determines the default order of lib titles in the LIB menu. Really important however, is the run-order of the $EXTPRG because a later run $EXTPRG can modify or even completely remove the action of an $EXTRRG which was run before. - Wolfgang ==== Somebody is actually using my software! Amazing! In order of lib id this is why the socalled config-aborters (and the password libs) on the 48 had very low lib id's (EG 4) -- This message was written entirely with recycled electrons Pivo -- ==== Break library Decompile 48 program Modifie it. Compile it for 49 Create library. Probably you'll need to know sys rpl and assembly.... Ricardo -- ==== Really? Do you enter things in the wrong order so frequently? Equally annoying is the ridiculous inflexibility and impatience of the spoiled and inexperienced, who have little appreciation of how good and how easy their lives have been made, but endlessly complain about the most trivial of things and devote large expenditures for inconsequential features entirely disproportionate to their true worth (or worthlessness), which in part is how many advanced societies waste themselves. The advanced calc inconvenience is a consequence of the fact that on the more primitive, numeric-only calcs, there is no separate *text* editor and *compiler* which is completely *independent* of the stack; rather, the moment you begin to type digits, the 4-level fixed stack is pushed up, and your new digits already begin to enter the X register (stack level 1), which is sort of equivalent to pressing ENTER in advance (a/k/a automatic stack lift). In exchange for that wonderful convenience of therefore you also get other consequences, such as not being able to cancel out of a once-started entry -- if you didn't mean to type any new entry, then you have to do some extra keystrokes to drop the stack back down again, if you can (there's nothing you can do about any lost value that was in level 4, however), whereas on the HP48/49, when you CANCEL out of the editor, the stack is absolutely unaffected. But why should we take the total range of all situations into consideration, when our vision can see only the one thing that we ourselves are concerned with, at any one moment? Alas, I have much the same problem: my former sweet friend Shirley was so easy, but my fancier new acquaintance Graciella seems to demand a lot more buttons to be pushed to get the same result :) ==== Try I find leaving the enter off altogether speeds things up. Reciprocal is useful ==== ==== I've heard that port2 is arranged into blocks of 128K in such a way that if you have two blocks each full to 127K, you can't use the 2K left over from these -- you can only have two 1K objects. Is that right? Recently I've been told that I didn't have enough space for an object that should have fit into port2 ... if the free space indicator in filer means anything. So, are there programs that provide one of the following features? 1) displaying port2 memory by 128K blocks, so I have a better idea of how that memory is being used and what space is free, and 2) rearranging objects in port2 so that I have more block-space free for larger objects. I suppose that I can do this simply by removing everything from port2 and storing them back in some order, but I don't have that much memory in the other ports free :-/ -- so some ==== Why not use something like CON(5) #0C5D0 * I hope that's the right one CON(5) =DOROMP CON(3) romid CON(3) command ==== ==== It was the old way of development on the PC, and I still use it for my huge Urania project. Hey, this sounds fine! I think more people would like to see that! But I think I will try to follow Thomas Rast's hint first. -- Georg Zotti ==== Yes. But it's actually after the *config* offset (I always make the same mistakes :-/ ). Also, the constant is #0C5D0. So the library structure must be: 5 =DOLIB 5 size 2 # of characters .. name 2 # of characters (unless 0) 3 library ID 5 hash table offset 5 message table offset 5 link table offset 5 config object offset 5 #0C5D0 5 =DOROMP 3 romid 3 command number .. contents 4 CRC Thomas -- Thomas Rast If you cannot convince them, t.rast@iname.com confuse them. ==== | When I send it two list inputs... -[]- ==== The easiest thing of all to miss is that if there is *any* solution to an inverse diffy of even a single step, then there are an *infinite* number of solutions (just add or subtract a constant to/from each component of any other valid answer), so a general inverse algorithm is slightly impossible, except in the limited sense of trying to have a good chance of finding *some* solution which goes back N steps. To make a one step backwards function of sorts, one might assume a very large constant as the first term of a prospective answer, then there are two possible values for the second term, for each of which there are two possible values for the third term, for each of which there are two possible values for the fourth term, but then the constraint between the fourth and the original first term either validates or eliminates each proposed possible set of terms as a valid inverse. Equivalent (or relection) solutions may of course be pruned out, then for each possible valid set, the largest value (or one less, two less, etc.) can be subtracted out to give a simpler inverse, with the slight caution that starting with { 0 0 0 0 } could then give the identical inverse again :) Anyway, some such deterministic procedure could be repeated upon an original *list* of Diffys, to give a possibly expanding list of simplest inverses, where hopefully no dead end would be reached over time. But would this be anything like Conway's Game of Life, and would it ever halt? http://www.math.com/students/wonders/life/life.html http://hensel.lifepatterns.net/ [Java applet] http://www.tech.org/~stuart/life/life.html ----- Taking a different turn, note that: 1^n + 4^n = 2^n + 3^n for n = 0 or 1 1^n + 5^n + 6^n = 2^n + 3^n + 7^n for n = 0, 1, or 2 1^n + 5^n + 8^n + 12^n = 2^n + 3^n + 10^n + 11^n for n = 0, 1, 2, 3 Well, can you demonstrate how to construct number lists which sum just like this, up to an ever-increasing range of exponents? A very simple method of induction can be used to construct them, so devise the method and a proof, okay? Can there be a different number of terms on each side? These things are known as multigrades; more here: http://www.primepuzzles.net/puzzles/puzz_065.htm http://mathworld.wolfram.com/MultigradeEquation.html http://www.worldofnumbers.com/varipal.htm http://www.uwgb.edu/dutchs/recmath/rmpowers.htm#multi http://euler.free.fr/eslp http://dmoz.org/Science/Math/Number_Theory/Diophantine_Equations/Equal_Sums_ of_Like_Powers http://www.math.niu.edu/~rusin/known-math/94/multigrades http://www.math.niu.edu/~rusin/known-math/96/multigrades So why isn't any method for *generating* multigrades among the pages above, as I believe it may have been in this book, by Maurice Borisovich Kraitchik (1882-1957): Mathematical Recreations, Dover 1933,1942,1953 The wallet game paradox, originally proposed by Kraitchik: http://www.curiouser.co.uk/us/wallet.htm The St. Petersburg Paradox (theory vs. practice in real life): http://www.science.uva.nl/~seop/archives/sum1999/entries/paradox-stpetersbur g Kraitchik also figures in the history of integer factoring algorithms, although you've probably never heard of him: http://math.boisestate.edu/~marion/teaching/math306/306PollardRhoF98.htm ==== Looks to me like we won't see the '49 OS in the open source pool then. May it rest in peace. ==== : ==== ==== What am I doing wrong here? I read in the HP49UG how units are ==== Nothing wrong there. You can easily convert the result, e.g., to square yards if you need to (1_yd^2 CONVERT), but the calc doesn't do it automatically because it's not strictly neccessary. OTOH, when adding the calc *has* to convert one unit to the other in order to carry out the operation. -- Dr. Albert Graf WWW: http://www.musikwissenschaft.uni-mainz.de/~ag ==== Physical reality is what's up, doc! Can you devise any way to get a single answer for addition/subtraction of units without converting one of the arguments' units to the other? No -- physical reality demands the conversion (as it simultaneously validates the compatibility of the units), so it isn't some bonus nice feature of the calc to do it, after all. How about multiplication and division of units? Here anything goes -- and since there needn't even be any compatibility whatsoever between the argument units in these cases (you could even devise cases where factoring would be undesirable) -- the calc doesn't do anything but gather all the units, period. *You* may, however, convert a result to any valid compatible final unit combination you please -- just follow with a CONVERT command (or UBASE, if you prefer), e.g. ==== ==== multiplcation and division for convenience, with a means to prevent it in ==== ==== ==== Why not use UTool 2.4 http://www.hpcalc.org/details.php?id=4612 you can specify in which units you wish to convert mm^2/s for kinematic viscosity is a very usefull one for me others are N, J and V ==== ==== It's quite simple actually. All you've got to do is sit down, write out a set of conversion rules that generally give you the right answer without ==== On Fri, 23 Nov 2001 03:04:36 -0600, Jonathan Busby Now that I've calmed down some, I want to apologize for some of the rash remarks I made in my fit of anger. I'm sorry if I've provided the spark for the beginnings of a massive flame war. The above statement about Saturn assembly WAS NOT directed at JYA. I'm sorry he interpreted it that way. If I was indeed implying what it sounds like (which you know is total crap if you've done any Saturn assembly) then all doubt of my idiocy would have been removed. This statement was actually directed at some who I know *don't* know Saturn assembly which would surely rule out JYA :D. (come on give me a break) I also think there is a misunderstanding about this whole rarely used debate. Some people, I think, take my claiming the opposite as saying that you use nonstandard fields every other instruction which is surely not the case. By far, the A field is probably the most used field. What I'm saying is that they are *not rarely used on a routine or algorithm by a algorithm basis*. What I'm saying is that in the 1% of code that takes up 90% of the execution time the Saturn's nibble based features often can be utilized for great speed-ups. And IMO, if these features were removed we would see a great decrease in ==== Oh no, now I really started it. Sigh... I can feel the heat of the flames by just thinking about it... :( ==== Why? Well, I could use it, but anyways..... :-) Neighbourhood didn't mean a thing - just something I say once in a while. There is a great deal here who are not adults. Well, anyway, I must admit that even small kids here in Denmark swears alot - much of it they get from US films and so on. It doesn't bother me at all (I tend to do it myself), but I know it bothers alot of people especially from the states - so I usually try to keep my tone clean in international forums. Someone might misunderstand certain filler words, and that beats the purpose of posting in the first place. I believe in not stepping on peoples toes - especially if it can be avoided at little cost. No. That JYA has done alot for HP calculator development. That he has contributed greatly to spreading knowledge of many sorts. He has contributed in many ways, and so has many other people - including Jonathan. You know what? I do not judge people by their occasional outbursts - I can even forgive repeated carelessness. I look at the big picture. If you do that and see JYA as an ignorant troll, then I guess our tolerance levels are different. I just need to look at myself sometimes - JYA has a right to an opinion, and he is right in this discussion about many things. I hope I misunderstand that - literally shoot him? What about the BCD/binary coding issue itself? I'm no great Saturn assembler programmer, but I can see that Jonathan is, as well as many people here are. It's not a contest. Sometimes poeple express themselves badly, because English is not their native language, or because they misunderstood something in the first place. When the debates get heated, and many arguments have been posted, it can be hard to admit an initial error or misunderstanding. One shouldn't be stubborn and try to push a clearly wrong point, but is it obvious for all parties? Has someone maybe misunderstood? Is it merely a difference of opinion? Does everyone in the discussion talk of exactly the same thing? :-) Does this thread suddenly become constantly? I know he has initially denied some HP49G bugs over time, but they are eventually fixed, aren't they? That's the way he is. But that's merely difference of opinion on the edge. How can that lead to such an agressive tone? It reminds me of a politician here in Denmark (we have just had an election) who got bombarded with tomatoes by some of his opponent's supporters. TV reporters of course stormed him to get an opinion of the mess, and he just smiled and said And that's their BEST argument..... I think that was quite cool in such a situation. People throwing fruit around is not that common here - on any occasion. just I'd roll around laughing on the floor. I wouldn't have anything to use BCD ==== ==== One thing I like about this ng is the usually friendly atmosphere. The occasional heated battle and ironic remark also belongs here and can actually be very fun (at least for those not directly involved ;-). You learn a lot more by taking notice of different perspectives, not only the canonical opinions. But one should try not to get personal. Calling other members a d***a** usually just shows that one is running out of arguments. Sit back, relax, try to laugh about it, rethink your position and try to understand theirs (even if you think that you know better). And if you think that you've said it all, then just a leave it at that. Trying to convince people with the virtual machine gun in your hand is not the way ==== It seems that you misunderstood my point about multi-tasking with the Saturn CPU. As it can't generates an interrupt when an opcode's execution have been completed you have to almost *emulate* the Saturn. What I mean is that you must have a program that will read the next opcode to be run, check if it's going to write in some memory area for example, then copy the opcode to be run into memory followed by a return instruction (RTN) then jump to this address. You have to do that for EACH instruction you're about to run otherwise you're *multitasking* program will loose control of the execution. This is why I was trying to justify that the Saturn for multi-tasking operation is extremely poor as you have to emulate everything by hand. On the 68K however, there's a mode to start an interrupt each time an opcode have been run, and it's also true for almost any CPU (80x86,ARM etc..). Regarding the decimal mode, I only said that the saturn couldn't do instruction such as A+2.A in decimal mode. To make it worse, these instructions are even buggy when running on a field other than A and B as the carry is not handled correctly. I'm sorry if I've upsetted people, it seems that there have been a great misunderstanding from the beginning. When talking about the choice of BCD, I NEVER talked about floating point representation, but only the usage of internal BINARY for integers and HP49 long reals. Right now, each mantissa is in BCD, and it slows down the CPU when performing some operations. However, it's faster to display. My remark regarding the poor choice of TI and the 68K to use BCD representation was based on the fact that the 68K BCD's mode is extremely poor compare to the Saturn) (8 bits only). They could have used binary representation for integers and it would have been even faster that what it ==== Please re-read my first message and you will see that I made a difference between field access and working on a nibble based register. Working with the fields A,B,XS,M,S is working on field, not working on a *nibble feature* The greatest advantage of the Saturn CPU is the length of its register. However, I would have prefered more registers than a registers with a lot of different field. By myself ? And when is that ? I could mention a lot of people that I believe much better than I am: Werner Huysegoms, Cyrille, Gerald etc... ==== No one uses this definition for the word multitasking and furthermore no one does it this way as it would slow the CPU down to a ==== ==== Uh ? Are you really talking about multitasking ? Interrupting CPU at *each* opcode is useful only to implement a debugger, but totally useless for a scheduler (the code in charge of the multitasking). ==== I find it rather sad that after all the work JYA has done for the HP49G and other recent HP calculators, people have no (or not much) ==== wrong. Think about it for a while. A guy who is wrong and a guy who is right are trying desperately to convince the other that _he_ is right. The guy who is right knows that he is right and can see that the other guy is wrong. the guy who is wrong just thinks that he is right, but can not convince the other guy that he is right. The guy who is wrong ==== On Fri, 23 Nov 2001 19:35:06 -0600, Jonathan Busby As some people have pointed out there seems to be confusion on the interpretation of nibble based features. I interpret this as the Saturn's ability to easily work in a variety of ways with data whose length is a multiple of four bits. Some were interpreting nibble ==== ... more. Every time you say multi-tasking, you really mean pre-emptive multi-tasking, right? Like what Unix systems have? This is nice in various ways, and I guess not nice here for the Saturn, and not nice in various other ways that shouldn't be obvious to a user -- but it's not the only kind of multi-tasking. A popular multi-tasking system used in Forth is called round-robin multitasking and in it each task decides when it's OK to switch to another task -- by calling the multi-tasker, and a number of basic commands have implicit calls to the multi-tasker (in Forth: at least every I/O command). This is very nice to work with; a good and I suppose readily-available ==== There's nothing not nice about preemptive multitasking with respect to the Saturn. On the other hand, if you mean with respect to the combination of RPL and the Saturn then you would be right. :) ==== [The following has been edited:] Here's a quote from a previous posting of mine to the thread HP49 to computer: }Well... when I look at samsoncables.com, I see that they sell two }different types of interface cable -- one for the HP48, and one for }HP 38/39/49. } }Additional information on the 48 cable is: } } Note, do NOT use an F1015/F1016/200LX cable with your HP38G or ==== I think a lot of us have forgotten a large group of users that I have not seen a lot of input from. I am a drafter and use my 48GX on a daily basis. But, the 48GX is very difficult machine for most people to use and carry around. If you don't wear a suit coat or wear an belt pouch, it isn't easy to keep it with you in the office or in the field. What most of us really wants is a very powerful calculator that is easy to use and that will fit in the SHIRT POCKET. The 42S was the best for this. It too had limitations, but was a great little machine. My recommendation to HP is to bring back the 42S with these improvements: 1. 1MB of User RAM 2. Read/Write IR 3. Clock and Time Functions 4. Unit Conversions comparable to those in the 48 5. USB Port This, I think is what the average user wants. Yes, the latest and greatest graphing calcs are great and I will probable get one when they come out, but ==== ==== ==== I'm selling my hp48sx expansion card with formulas and ==== Can anyone give me a quick rundown on the syntax to use for finding derivatives or integrals of vector functions such as r(x,y,z) on an HP49G. ==== the HP49G is the king of vector calculus. r(t)= sin(t)*i + ln(t)*j + exp(t)*k { 'sin(t)' 'ln(t)' 'exp(t) } 't' now derivate or integrate ---------------------------------------------------------- to find the gradient of a funtion: 'x^2*t^3*y*z^4' ['x''y''z''t'] HESS drop swap drop ------------------------------------------------------- to find the divergence of a vector funtion: V = exp(x)*sin(x)*i + y^2*sin(y)*j + z*exp(z)*k ['exp(x)*sin(x)' 'y^2*sin(y)' 'z*exp(z)'] ['x''y''z'] DIV ==== I can't parse this at all as a question; ==== ==== I got mine for £160 which is about $250USD. expensive but this is rip off britain after all. -- You should quit while I'm ahead. ==== ==== I am trying to solve the differential equation x''+3x'+2y=0 I know the answer is y=Ae^-2x +Be^-x but I can't get my 49G to get it into that form, I don't know if its the flags or something?!? here is my syntax. d1d1Y(X)+3*d1Y(X)+2*Y ==== the result looks complicated but is not. you will find that there is a bunch of letters that are a combination of constants. i'll use the command LDEC (more apropiate for this DE equation) 0 (enter the right part of equ first) 'x^2+3*x+2' (enter polynnomial form of equ) LDEC '( (2*cCO+cC1)*exp(2*x) - (cCO+cC1)*exp(x) ) / (exp(x)*exp(2*x))' this is a constant: (2*cCO+cC1)=A this is the other constant: (cCO+cC1)=B reduce to: A*exp(2*x)-B*exp(x) / (exp(x)*exp(2*x) simplify (divide): A*exp(-X) - B*exp(-2*X) ==== ==== I believe the closest you will get to the expression you're looking for is just as 'rcobo' said by 0 'x^2+3*x+2' LDEC then do PARTFRAC LIN and you'll get (2*cC0+cC1)*EXP(-X)-(cC0+cC1)*EXP(-(2*X)) wich is the same as y=Ae^-2x +Be^-x ==== I believe the closest you will get to the expression you're looking for is just as 'rcobo' said by 0 'x^2+3*x+2' LDEC then do PARTFRAC LIN and you'll get (2*cC0+cC1)*EXP(-X)-(cC0+cC1)*EXP(-(2*X)) wich is the same as y=Ae^-2x +Be^-x ==== I believe the closest you will get to the expression you're looking for is just as 'rcobo' said by 0 'x^2+3*x+2' LDEC then do PARTFRAC LIN ==== I believe the closest you will get to the expression you're looking for is just as 'rcobo' said by 0 'x^2+3*x+2' LDEC then do PARTFRAC LIN and you'll get (2*cC0+cC1)*EXP(-X)-(cC0+cC1)*EXP(-(2*X)) wich is the same as y=Ae^-2x +Be^-x if you take (2*cC0+cC1) = B and -(cC0+cC1) = A Hope that helps a bit. Diego University of Florida, ISE. form, I way ==== ok, this one requires some tweaking. i'll go through step by step: solve equ using LDEC: 0 'x^2+4*x+9' LDEC he he, you got a nice bunch of something press the down arrow (to go to the EQW) uff, mama mia! i see a big term divided all by 5, right? the first parenthesis is going to be the first A=(2*sqrt(5)...cC1) he? what is all that crap on the top of the first exp? to find out, select it with your cursor and do this: TEXPAND (found in the TRIG menu) EVAL you should see now -(2*x) on to of the first exp. it shrinked :) now keep working to the rigth of the expresion. select the part 'inside' the sin( 3*x*sin...-Pi) do again TEXPAND and EVAL it shrinked to: -sqrt(5)*X now select the term on top of the next exp. it is 3*x*cos...-Pi do TEXPAND and EVAL it shrinked to -(2*x) do the same thing with the next term. it starts with 3*x*sin...-Pi it shrinked to -(sqrt(5)*x) well you got rid off most of the junk. now is time for 'eye-ball' the eye-ball game is like this: 1- the constants in parenthesis (group) can be replaced by a single constant 2- a constant divided by a constant is a constant, rigth? so, the first constant is (2*sqrt(5)...) / 5 the second constant is cCO (found next to the second exp term) replace *in your imagination* all of them by letters A and B vuala you got: A*exp(-2*x)*sin(-x*sqrt(5)) + B*exp(-2*x)*cos(-x*sqrt(5)) ==== thanks, if the saturn is like a little baby, then a TI-89 (which was my previous calc) is a hyperactive kid. sv -- ==== whoa... that's a lot of work. Here's what I did: Laplace Transform [1 3 2] PROOT write on my paper: ==== ==== ==== I just looked at his page: http://hp-at-home.com/gatewayPages/calculators.htm ==== And why would the GX be discontinued when the 38G http://www.shopping.hp.com/cgi-bin/hpdirect/shopping/scripts/product_detail/ product_detail_view.jsp?product_code=F1200A%23ABA&aoid=1431&script_name=prod u ct.cgi isn't? (apparently since the link is up) Surely the 38G only has a fraction of the sales of the GX? HP reps have said far stupider things in the past : http://groups.google.com/groups?threadm=d2e5be41.0108061819.69a2374d%40posti ==== i just bought in the dallas area, 48GX for $45 at Office Depot and 49G for $54. last ones at 2 different stores out of like 5 ! errors ==== then, the HP49G is 'The Last of the Mohicans' i am so glad i have two of them :) ==== Have no fear, there are some right here (but the cost is dear :) http://www.hp.com/calculators/accessories/memory.html Anybody spot a non-Epson card in that picture? The 128K card buy online from hp says in stock (but is it really?) The 1MB [GX] card buy online from hp says hpshopping.com error Unable to display product detail page. [404 Error] More [pricey] sources of original card (check availability): http://www.google.com/search?q=82215a (Doesn't Wagon Photo look familiar? :) More sources (some claim to have HP cards or privately made cards): http://www.hpcalc.org/buying.php http://www.uuhome.de/oklotz and http://www.dynatech.de still claim to have some cheap, privately made cards. ==== ==== Dear Group: ==== I'm currently trying to teach myself how to program on a CFX-9850GB Plus and getting massively frustrated. It's programming language is _incredibly_ primitive compared to that of the HP39G (which is what I'm used to). On the other hand, some of the features available to the normal non-programming user, such as instant drawing of tangents, normals and inverses to functions directlyy from the plot screen are rather nice and make me wish we could go back to the drawing board again with the 39G. -- Colin Croft ==== ==== ==== ok, you are welcome come back more often (we are open 24 hrs a day). we need more people from ==== You can use STO to change the value of a local variable, just as you would for a global variable. ==== Is there a IP Subnet Calculator for HP48SX? Reg. Oyvind Bjornerud -- ==== ==== Hola Yo lo que creo que se esta refiriendo con una calculadora de Subredes IP. Puede ser a que dada una direccion IP y su mascara, que direcciones se le podria asignar a sus redes a sus subredes, asi como a los routers conectados ==== ==== ==== ==== ==== --------------------------------------------------------------------- Get an HP49..... As far as I know MK 3.0 has never been released and was implemented with the HP49. ==== --------------------------------------------------------------------- why can't the v3.0 be released? Get an HP49..... As far as I know MK 3.0 has never been released and was implemented with ==== --------------------------------------------------------------------- Maybe my message should have been: As far as I know MK 3.0 has never been released and was implemented AS the HP49. Caspar -- why can't the v3.0 be released? Get an HP49..... ==== ==== ==== ==== My chinese made HP49G, bought December 2000, came with an HP49 to HP49 ==== * Could someone enlighten me on the use of the command DISPXY, new with the latest 1.19.6 ROM? The given syntax is as follows, but I can't seem to get it to work: * 3: object ==== ==== ==== Yes. Just bought a 568 after six years using an HP200LX. I am over the moon with it. I have had brief flirtations with a Palm Pilot, and a Psion Series 5, but always went back to the 200. I bought the 568 against my better judgement expecting the usual flash and no function, but I have been very pleasantly surprised. As I was reading your post, I was clicking away on ==== Everyone around me is getting the TI-89. I'm one of the few who have an HP48. It seems like there's so much more stuff on the TI-89. Anyways, everytime I try to use the solving equations mode, it always seems to give funny answers. Let's say, I want to solve the equation for the current flowing through an NMOS. What's the best way to do this? I don't have any wires to connect it to my computer, so I can't get the best programs for it. Do the programs make the HP48 much better? -- ==== programs not less important but perhaps not as well-known. ==== See this old post: http://groups.google.com/groups?selm=7poo8b%24cuf%241%40news.utdallas.edu&ou tput=gplain I don't know if your card will apply or not. -- ==== ich versuche seit einiger Zeit folgende Internetseite: stolte-edv.com zu erreichen, wei§ jemand warum diese Firma zur Zeit nicht erreichbar ist. Hat dieser H212ndler (haupts212chlich Verkauf von HP-Rechnern und Zubeh232r) seinen Verkauf eingestellt, weil HP die Rechner nicht mehr weiter entwickelt, oder liegt es an meinem Internetzugang, oder ..... ???? ==== ==== This is similar to a problem that I encountered with my students when introducing the value of e very large number n to get a very small number 1/n. This in itself does not involve much loss of precision but when you add it to 1 you get a huge loss. ie. Suppose n=2.3E10. Then 1/n is 4.3478260869E-11 No problem so far, but when you add 1 you get 1.00000000004 which involves a massive loss of accuracy (clearly there will be a huge range of numbers that will all give the same value). If you now raise it to power then you compound the problem. If you go to http://members.iinet.net.au/~ccroft/faq2.html#18 you'll find an explanation I put -- ==== I have read all the way through the manuals (which were rubbish) and have been trying to get my head round the following things: 1. what does the flag to simplify square roots do? 2. Is there anyway to get the calculator to use ^2 instead SQ() ==== ==== the PC/M$ monoculture as the standard. :) I'm probably getting old-fashioned, lately I even find myself in fond memories of the good ol' days of GCOS and ALGOL 60. Maybe that's because I'm approaching 40? ;-) Seriously, I'm sorry to hear that you've got problems with NT 4, I haven't seen a single BSOD through 1 year of heavy W2K usage. You should really consider switching to NT 5, it's much nicer. (and HP 48/49, via the emulator ;-). Great for porting software. Still ==== Okay, here's one: o Set Windows calculator to Scientific mode, decimal base. o Type 10 [ten]. o Repeatedly press the [x^3] key. Now, sooner or later (sooner on this lowly 133_MHz Pentium PC :) the calculation will visibly begin to take longer and longer to display the answer, even though it's just a simple power of ten (1Exxxxx, just tripling the exponent each time); eventually, a message may even appear: The requested operation may take a very long time to complete; do you want to let the calculation continue, or stop the operation now? That sort of proves that the internal operations are not using BCD (or that they use exact precision instead), doesn't it? ;-) And what if this PC were powered by a 10_MHz Motorola CPU instead of a 133_MHz Pentium? Even if the above problem did not exist, there are inevitably calculations which can not possibly, due either to truncation or rounding (whichever occurs), return the exact value which a BCD calculation would obtain, and if you then subtract the precisely absolutely correct value and the calc says that the result is exactly zero, then it is lying (or fudging) a bit the same way as old Casio calcs did, assuming that very small differences are actually zero, whereas sometimes such assumptions are surely incorrect, and could lead to other wrong results instead. And by the way, what do FLOOR and CEIL, 0 RND, 0 TRNC, etc. do in such cases? Exactly how much slack should we give them? Finally, HP calcs have always followed the WYSIWYG principle, in the sense that what you see in the display is *identical* to what is in the internally stored value -- not just a rounded approximation of it (again like Casio/TI), but *identical*; you must necessarily give this up to go binary. You must also do [unbiased?] *rounding* (not monotonic truncation, always lowering each result), for otherwise, if you perform a large number of monotonically decreasing operations (perhaps squaring and then square root, indefinitely), eventually the cumulative error drifts into visibility, even on Casio calcs which round answers to look good in the display (even more rapidly on some very old TI's which dropped counts toward the right end during very ordinary multiplication :) And for exact calculations, shall we keep BCD, or go binary there as well? Does it depend on how long we can wait (or how much memory we can spare for conversion), when it comes time to input or to display answers? Originally, of course, before exact integer objects existed, floating-point objects were the only game in town, and had to be used in their place, and it was basically the past use of BCD which avoided wrong answers, back in such days of overloaded objects :) Such facts of life will not matter in most practical engineering calculations, but they would spoil the old HP tradition, in which it used to be possible to claim perfection of a sort, even if only for some special values :) Meanwhile, we seem to have an unanswered challenge: Either there exists some example (perhaps even after millions of computations) which could be exact in decimal floating point but become visibly wrong if done in binary instead, or else no such exception exists, right? ==== Not necessarily - I'll just copy and paste a part of an answer I made to Jonathan: Of course, when you perform only addition/subtraction and multiplication on real numbers within the range of any given BCD representation, you'll get the real maccoy - but with binary the range is bigger. Let's try out your example of '((0.6+0.7)*1E16-9E14)*15'. If we imagine a 64 bit real number encoding, these are the differences between BCD and binary: 16 nibble packed BCD: Sign (#0000b = +, #0001b = -) 12 digit mantissa (48 bit) Combined sign nibble (two's complement) and first digit exponent + 2 more digit exponent, allowing for (exponent,max = +-499) 0.6: 0000 000000000000000000000000000000000000000000000110 100000000001 0.7: 0000 000000000000000000000000000000000000000000000111 100000000001 '0.6+0.7': 0000 000000000000000000000000000000000000000000010011 100000000001 '(0.6+0.7)*1E16': 0000 000000000000000000000000000000000000000000010011 000000010101 9E14: 0000 000000000000000000000000000000000000000000001001 000000010100 '(0.6+0.7)*1E16-9E14': 0000 000000000000000000000000000000000000000100100001 000000010100 '((0.6+0.7)*1E16-9E14)*15': 0000 000000000000000000000000000000000001100000010101 000000010100 =1815E14=1.815E17 64 bit binary: 1 mantissa sign bit 53 bit mantissa 1 exponent sign bit + 9 exponent bits, allowing for (exponent,max = +-511) 0.6: 0 00000000000000000000000000000000000000000000000000110 1000000001 0.7: 0 00000000000000000000000000000000000000000000000000111 1000000001 '0.6+0.7': 0 00000000000000000000000000000000000000000000000001101 1000000001 '(0.6+0.7)*1E16': 0 00000000000000000000000000000000000000000000000000110 0000001111 9E14: 0 00000000000000000000000000000000000000000000000001001 0000001110 '(0.6+0.7)*1E16-9E14': 0 00000000000000000000000000000000000000000000001111001 0000001110 '((0.6+0.7)*1E16-9E14)*15': 0 00000000000000000000000000000000000000000011100010111 0000001110 =1815E14=1.815E17 With BCD encoding you use 4 nibbles of the mantissa and 2 nibbles of the exponent (not counting the sign). With binary encoding you use 11 bits of the mantissa and 4 bits of the exponent (not counting the sign). Isn't this clear? Your mantissa and exponent will run with more digits before rounding - both encodings will round when the mantissa overflows, but BCD will round first. Both will error when the exponent overflows, but BCD will error first. You'll need 4 additional bits to increase the BCD mantissa by a factor of 10. The same 4 additional bits will increase the binary ==== ==== And exactly opposite will happen when you multiplie by 2. The binary does it quick and BCD suffers. Again, this doesn't proove anything except that each coding has prefferred divisors and multipliers. But the questioon was not about the speed but rather about accuracy, which if you don't use fractal type chaotic iterations and don't use special case initial point carefully choosen generally are way more accurate for binary than for BCD if both codings are using same size memory for storage of mantissa. Are you asking about multiplication by 10 or by 2 ? ;-) The discussion was more about modern CPU's than HP. Of course, when HP uses Saturn which is optimized for BCD it does make some sense to use BCD. But many modern CPU's including even old Motorola either support BCD poorly or not at all. For example Motorola 68k series FPU was supporting BCD in hardware only up to 68030 model and the newer CPU's 68040 and 68060 dropped hardware support for floating point BCD replacing it by software emulation. For such using BCD beacuse it returns correctly answer when the divisor happens to be carefully choosen exact 10 is nonesense. The first time BCD encounters divisor like 3 or 7 or 9 or 11 etc. it is immidietly 1000 times less exact than binary floating ==== Well, it appears I am eating my own words once again. One last (hopefully) message in this thread. Please read what I said before posting your own nonsense. You are once again straying off from the point which proves you still don't comprehend the basic subject of this debate. The subject is this: Will binary floating point have problems with round-off (problems such as display anomalies and the nasty behavior of some functions such as IP/floor. ) when dealing with values that can be *exactly represented in decimal* (remember, the number system in which humans work and in which results are displayed) and when performing the operations of addition, subtraction and multiplication? . In order for the debate to be fair we must disqualify division because it will produce values that can not be represented exactly in either binary or BCD unless you choose very carefully. What you are trying to prove by citing pointless contrived examples is beyond me. BCD floating point *in general* is not failing in this case. The reason for the error propagation is that the calculator and Borland C++ are using different calculation methods. On the calculator, after dividing by 2^18 the result is rounded from *15 digit* floating point to *12 digit* thereby introducing an error. In Borland C++ *all intermediate calculations are performed in 80-bit floating point and then rounded to 64-bit*. ( if you're using doubles ) The corresponding HP48 sys-rpl program that operates the same way produces the correct results :) : :: %% 262144 %%1 14 #1+_ONE_DO OVER Therefore, your point is moot. It is also a mathematical fact that floating point representations in different bases are no different except for their precision, range and what they can represent exactly. So, if you are trying to prove that BCD is some how inferior then you really have gone off the deep end. Please get back to me when you start making sense because this is getting REALLY old. ==== Obviously not old enough ;-) Very short now - and please read this!: Consider two 64 bit registers - one with numbers represented by BCD, and the other represented binary. Let's say you use these formats: 16 nibble packed BCD: Sign (#0000b = +, #0001b = -) 12 digit mantissa (48 bit) Combined sign nibble (two's complement) and first digit exponent + 2 more digit exponent, allowing for (exponent,max = +-499) 64 bit binary: 1 mantissa sign bit 53 bit mantissa 1 exponent sign bit + 9 exponent bits, allowing for (exponent,max = +-511) This makes it very simple - you have 53 bits for the binary mantissa, and you have only 48 bits for the BCD mantissa. Since the mantissa determines which numbers you can represent, it determines when round off (caused by inability to hold the necessary number of digits) occur. You can hold ANY number in the mantissa, with the above BCD that is from 0 to +-999999999999 (12 digits, remember?), and with the above binary that is from 0 to +-9007199254740992 (+-2^53). The exponent determines where the decimal point is put, so you can hold for example 45.45422647 in both binary and BCD representation. You can also represent 0.001 exactly in binary (there was the surprise?) - you just put a 1 in the mantissa and -3 in the exponent. You can represent any number with one significant digit in both binary and BCD. The same with 2 significant digits. 3, 4 through 12, but at 13, you can not represent for example 0.0000004821236548559 in BCD - you'll have to stick with 0.000000482123654856, since you can only represent 12 significant digits. When using binary representation, you can easily still hold 0.0000004821236548559. you can, in binary still add significant digits until you reach almost 16 - that means certainly 15 significant digits. To make a final point: 64 bit BCD: 1E-11 + 1 = 1.00000000001 1E-12 + 1 = 1 64 bit binary: 1E-11 + 1 = 1.00000000001 1E-12 + 1 = 1.000000000001 1E-13 + 1 = 1.0000000000001 1E-14 + 1 = 1.00000000000001 1E-15 + 1 = 1.000000000000001 1E-16 + 1 = 1 See? ==== I noted [re Windows Calculator]: Jacek Marchel replied: No, that's not why it takes so long to do one simple [x^3], which is, after all, just two FP multplications -- even with a Cray FPU on the side doing the floating-point part, the long time is primarily due to the display conversion which is necessary to present the results to the decimally biased human being (and conversely to convert equally extreme input into internal form). Bit for bit, of course it's true that for every four bits, binary uses 16 states while BCD uses just ten of those (nit-pickers may also complain about wasting 4 bits for each sign :) but way more is not any vastly more [in]efficient than is an SUV vs. a compact car -- it's not, for example, like comparing, weight for weight, the magnitude of nuclear energy vs. chemical combustion! Maybe it's just that for financial uses, say, it's a tad safer (and simpler) to absolutely guarantee the expected pretty result via BCD than to risk looking dumb by getting it wrong in some cases, even if the cases are rare (remember how the Pentium bug bit Intel, and how it didn't help Intel a bit to try to force the buying public to recognize its non-importance? :) HP has always emphasized taming even the most extreme and unrealistic problem, to bolster absolute confidence from its consumers -- especially those skittish bean-counting types -- and I don't blame them for going that way, especially since handhelds were never meant to be on the cutting edge of either speed or memory density, so long as they just kept up with the user's typing (just watch a still-popular HP12C at work :) and always got the unassailably best possible correct answers. If anyone wants to get some of that lean and mean power back, how about getting Microsoft to write something efficient, then :) No, it's the gas guzzlers that have won in many markets ;) But I thought it was the Europeans who were so all-fired keen about their precious user-friendly decimal [units] system :) Suppose it turns out that speaking in Esperanto is more efficient per syllable than other languages, or (as is certainly true) that a 32-letter alphabet would be somewhat more efficient per bit (save for the 3 wasted bits per byte) than the 26 English letters -- so, shall we all start speaking Esperanto and using 32 letters ASAP (and more evenly spreading out the letter frequency, to avoid the huge bias towards using e so much and z so little?) So big deal -- for computing *continuous* functions, and certainly for real-time modeling of nuclear reactions, for cryptographic coding and cracking, etc., binary is definitely more efficient, and the less we need to interface with people, the better for the sake of the machines themselves. It's only when people get into the act that the issue starts to get slightly muddled, and sometimes with discontinuous functions (IP, FP, FLOOR, etc.) that start to risk falling on the wrong side of the razor's edge, etc., especially in any system where floating quantities still do some double-duty representing exact values too. One approach to this is to do the rounding thing (round much more precise internal values to shorter display values), but then, there goes all that efficiency advantage of binary over BCD -- wasted once again in making the internal binaries have to be that much more precise than the display precision needs! See above; depends on several related numerical engineering design choices, and may be relatively equalized by the effect that I last mentioned above. Also, remember that financial data (and even every standard value of mechanical and electrical parts) is deliberately *quantized* to fit into the decimal units system! (anybody ever bought a '33+5/7'_KOhm resistor? :) I don't personally care, but the first wise guy who deposited into his own bank account the sum of the inconsequential roundoffs of millions of other people's accounts attracted the attention for some reason of the Long Arm of the Law, just as one lone person merging into the middle of a queue tends to arouse the rancor of every other one of those stuffy Brits :) One of my own past jobs, in fact, at the New York Commodity Exchange (at #4 WTC, now buried under rubble and ash), required my programs to suffer the most careful scrutiny to determine whether they correctly and impartially shaved fractional allocations and fairly round-robined every exchange member, according to the religious rigor of the Exchange Rules bible, when it came to integerizing daily fractional Gold/Silver/Copper lot transfers (even though the rigor of each per-lot weight was much less :) Well, Jacek, I feel all due sympathy with your automotive engineering efficiency and professionalism, which rightly favors the IEEE FP standards sort of thing. Yet, since I am in the employ of the Devil, and must necessarily be an advocate for my client, I have had some duty to bring out some of the human details and foibles which occasionally mess up that once pure side of earthly existence, fallen from the Garden of Eden as it may be. What the heck, can we still remain friends anyway? ==== If you say the calc just uses FP representation, then displaying the number won't take long either - the number is stored in fixed mantissa width - no matter how big the exponent gets, the mantissa will take roughly the same time to display. I bet the calc is using exct fractional representation internally, and first at display it converts into FP - in any case there's something major wrong with the concept, since it can take so long to display. Does those last 6 bits not matter? Why do people then debate the internal accuracy of the HP4x calcs and the TIs? In that view it doesn't matter if the calcs used 10, 12, 15 or 16 digits internally. It matters very much in my world; Consider arbitrary floating point precission as have been wished for so badly for the HP49G - if you used 512 bytes at any given time to store an arbitrary precission floating point number in the HP49G, BCD representation would hold around 1020 digits, while binary representation would hold around 1230 digits. Aren't 20% extra (free) digits worth anything? It's the same you win by going from 64 to 80 bits - as many find worthwhile. You will get a wrong result sooner with BCD mantissa. You'll get into trouble faster with BCD than with binary - I have posted this information numerous times now in this thread, but here it comes again: Consider two 64 bit registers - one with numbers represented by BCD, and the other represented binary. Let's say you use these formats: 16 nibble packed BCD: Sign (#0000b = +, #0001b = -) 12 digit mantissa (48 bit) Combined sign nibble (two's complement) and first digit exponent + 2 more digit exponent, allowing for (exponent,max = +-499) 64 bit binary: 1 mantissa sign bit 53 bit mantissa 1 exponent sign bit + 9 exponent bits, allowing for (exponent,max = +-511) This makes it very simple - you have 53 bits for the binary mantissa, and you have only 48 bits for the BCD mantissa. Since the mantissa determines which numbers you can represent, it determines when round off (caused by inability to hold the necessary number of digits) occur. You can hold ANY number in the mantissa, with the above BCD that is from 0 to +-999999999999 (12 digits, remember?), and with the above binary that is from 0 to +-9007199254740992 (+-2^53). The exponent determines where the decimal point is put, so you can hold for example 45.45422647 in both binary and BCD representation. You can also represent 0.001 exactly in binary (there was the surprise?) - you just put a 1 in the mantissa and -3 in the exponent. You can represent any number with one significant digit in both binary and BCD. The same with 2 significant digits. 3, 4 through 12, but at 13, you can not represent for example 0.0000004821236548559 in BCD - you'll have to stick with 0.000000482123654856, since you can only represent 12 significant digits. When using binary representation, you can easily still hold 0.0000004821236548559. you can, in binary still add significant digits until you reach almost 16 - that means certainly 15 significant digits. To make a final point: 64 bit BCD: 1E-11 + 1 = 1.00000000001 1E-12 + 1 = 1 64 bit binary: 1E-11 + 1 = 1.00000000001 1E-12 + 1 = 1.000000000001 ==== If you define hold in the binary case as approximately hold. :) If a fraction is to be represented exactly in some base b then all the prime factors of the reduced denominator must divide b which is surely not the case here. The reduced fractional part of the above number is 27185/59849 whose denominator obviously contains prime factors other than 2. :) But this is probably old news to you. No, this would be 1*2^-3 which is .125. But you must be talking about BCD here ( but why the word binary ? ) For crying out loud can you please read and more importantly *comprehend* what I said in my message before assuming I don't know high school math? I know you mean well but this is really an insult to my intelligence. I'm a 3rd year math major who's taken advanced math courses yet I don't understand scientific notation, bases and exponents!? Let me quote myself : It is also a mathematical fact that floating point representations in different bases are no different except for their precision, range and what they can represent exactly. . The key words are *precision* and *range*. Yes, there I am pointing out that given a constant number of bits the differences between representations with respect to differing bases will include differing precision ( ie. possible numbers the mantissa can take on ) and differing range ( ie. minimum and maximum values that can be represented due to the differing precision of the exponent and to a pre-cal math! :D How many times do I have to say this but THIS IS NOT ABOUT PRECISION OR ACCURACY IN GENERAL BUT ABOUT WHAT EFFECTS CAN COME ABOUT WHEN A CERTAIN FLOATING POINT REPRESENTATION CAN'T REPRESENT A CLASS OF VALUES EXACTLY. And to quote myself again So, if you are trying to prove that BCD is some how 'inferior' then you really have gone off the deep end. What I mean here is that if you have two floating point formats with differing bases that have approximately the same range and precision neither one has any fundamental mathematical advantage over the other one with respect to accurately representing rational numbers. ( Except one base might have a wider class of numbers it can represent exactly. Yet this matters little since most numbers ( well infinitely many ;) don't come from the products a few pre-chosen primes. ) Of course the format whose base is smaller will take up less space. :) But all these facts are obvious. ==== No, having more bits in the binary representation merely means that results will be more accurate *on the average*. But if you happen to do a calculation which can be done with 100% accuracy in BCD, you cannot necessarily do the same in binary (without rounding). E.g., 1.669529 - 1.6638434 will give you 0.00568560000000007 in 64 bit FP. So you *do* have to spend some bits for rounding if you *always* want to be at least as accurate as 64 bit BCD. Not that much in this case, but it could be more for other examples. I'm really interested in what the worst case is. :) Albert -- ==== :) HA!!!!!! There is the misunderstanding! ;-) Your above example: 16 nibble packed BCD: Sign (#0000b = +, #0001b = -) 12 digit mantissa (48 bit) Combined sign nibble (two's complement) and first digit exponent + 2 more digit exponent, allowing for (exponent,max = +-499) 1.669529: 0000 000000000000000000000001011001101001010100101001 100000000110 1.6638434: 0000 000000000000000000010110011000111000010000110100 100000000111 '1.669529-1.6638434': 0000 000000000000000000000000000001010110100001011000 100000000111 =56858E-7=0.0056858 64 bit binary: 1 mantissa sign bit 53 bit mantissa 1 exponent sign bit + 9 exponent bits, allowing for (exponent,max = +-511) 1.669529: 0 00000000000000000000000000000000110010111100110011001 1000000110 1.6638434: 0 00000000000000000000000000000111111011110000111100010 1000000111 '1.669529-1.6638434': 0 00000000000000000000000000000000000001101111000011010 1000000111 =56858E-7=0.0056858 That is, no .00568560000000007 in 64 bit FP, and hence no rounding. Binary is less prone to rounding than BCD. -- ==== I define it as *exactly* containing. I mean FP representation - mantissa and exponent. In this case: 64 bit binary: 1 mantissa sign bit 53 bit mantissa 1 exponent sign bit + 9 exponent bits, allowing for (exponent,max = +-511) 45.45422647: 0 00000000000000000000100001110111011011010010100110111 1000001000 =4545422647E-8=45.45422647 surprise?) - I'm talking about 64 bit binary FP. In this case: 0.001: 0 00000000000000000000000000000000000000000000000000001 1000000011 =1E-3=0.001 ==== ==== I think I can safely say that you, I and everyone else are getting DAMN TIRED OF THIS NEVERENDING, POINTLESS DEBATE. It is obvious we are set in our opinions and will never budge. You can be sure that I have a counter-argument for every one of your arguments and I can be sure you have corresponding counter-counter-arguments for every one of my counter-arguments. :) It is obvious if one of us doesn't stop then we never will - we are doomed to fill up the information content of the universe through all eternity with our rants. Therefore I OFFICIALLY ==== Great. Now we have more room to discuss politics and religion! Nyuk nyuk nyuk :) Dennis