Elektronika B3-34

Soviet calculator - Riddle

Part 3

Russian version

Beginning on the first page

For a hunt on the 5-th floor ours "Numerical sea", in the mysterious world OC-monsters (number with the orders between 400 and 500), it is useful to get suitable "diving equipment". Enter into the calculator such, for example, program: 00. (by the way, the commands and absolutely not worse carry out functions of a "empty" command, though in the manual about them and is not spoken). 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. .

This program multiplied the number, entered by you, by 10e400, forming "monster", concludes it in "crate" - register A (it is possible to use and anyone another) - and destroys all its traces in the stack. It is easy to see, that, entering various numbers with the positive exponents, we block all range of OC-monsters. Let's begin a hunt with itself "smaller" - 10e400. A command . On the indicator a zero, but monster in a crate! Do not hurry up to let out it on freedom - look contents of other registers. All is quiet, anywhere anything is not present. Now . On the indicator still zero. The hunt, by all, has not managed... But do not hasten with conclusions - glance in the register C . On the indicator - fascinate creation, a "tail of the monster" (). We get rid of the exponent: . Before us , and "2" occupies a "lawful" place of a sing "minus". If to press a key , it will be replaced by nine. Let's do operation . On the indicator, naturally, zero. And what if again to glance in the register A? . In the register C again there was a "tail of the monster"!

We have got acquainted with main property OC-monsters: by their any call in the register X on the indicator there is a zero, but in the register C "tail" enters the name, which kind depends on size of the monster. If in quality of "crate" to use register C (to replace in ours "diving" program a command by ), at first on the indicator there will be a zero, at second - "tail of the monster", and it irrevocably will disappear.

The second important property OC-monsters - their floor in the deformed kind copies structure all "Numerical ocean". At enter in our program of numbers from 1 up to 9,9999999e9 inclusive, in the register C there are "numbers - mutants" beginning in any digit on place of a minus (it on unit more high digit of an entered mantissa; if the mantissa begins with nine, here there is simply minus) and coming to an end by the letter E, then - mutant form of error.gif (126 bytes)s (at entrance numbers down to,9999999e19), 3rror.gif (126 bytes)s (at entrance numbers up to 9,9999999e29; can them investigate for difference from usual 3rror.gif (126 bytes)s; the procedure of their "decoding" results in the indicative codes with the rather interesting bases), then wild monsters, familiar already to us, of the 4-th floor... But most curious begins at input of numbers from 1e40 up to 9,9999999e49 - by a call the monster from "crates" in the register C enter the name besides monsters (we shall name them monster of the second order)! "With a hat" also are based on them focuses.

We form, for example, number equal 10e440.

. On the indicator a zero, but monster - in the register A. . On the indicator again zero, but now in the register C has entered the name monster of the second order.  - on the indicator still zero, but in the register C, on idea, has entered the name "trace". - on the indicator is
.. If again put command , in the register C will be again save monster of the second order, and the command , - by the first pressing - will give out on the indicator a zero...
But main surprise ahead. It appears, the level of monsters of the second order also copies structure of all "numerical ocean". At input in our program of numbers from 1e40 up to 9,9999999e40 the commands result in "numbers - mutants" ended by EE, then there comes turn mutant forms of the error.gif (126 bytes)s, 3rror.gif (126 bytes)s ("decoding" last, by the way, results in the indicative codes with EE in the left part), then monsters of the 4-th floor, and then... We again collide with OC-monsters, this time of the third order! Them "the ecological niche" is a narrow crack between 10e444 and 10e445 (on an input of our program, has become to be, for their formation it is necessary to submit numbers from 1 44 up to 9.9999999 44). "The trace" of the monster of the third order represents "number - mutant", ended by a combination EEE (fortunately, the further copying of structure of our "ocean" does not occur, differently we should be engaged OC-monsters up to infinity) and appearing on the indicator only after the third command  .

Example: (0) (0) (0) (0) (on display is )

The 6-th floor.

Most; perhaps, the unpleasant inhabitant of depths ours "numerical ocean" is the Darkness - at any contact to it the indicator dies away. The basic possession of Darkness settle down between the exponents 500 and 600 (thus, any number from 1e500 up to 9,9999999e599 is a Darkness). For the first acquaintance to it it is possible in a mode to type in such, for example, sequence of commands: () () . The indicator dies away - our actions have resulted in number 10e500, and it, certainly Darkness. It is easy to be convinced, that the calculator does not respond now on one order from the board. However if it to switch off on some seconds, and then turn power on again, it will work as in anything it did not happen.

To hide Darkness in "crate" (addressed register), it is possible to take advantage of the simple program:

00. 01. 02.   03.   04. 05. .

Command: . After stop the program on the indicator burns a zero, but in the register A the Darkness sits! If you will risk and let out it therefrom ( ), the indicator will go out, it is necessary to disconnect the calculator and to enter the program again.

As you remember, for the quantitative analysis of monsters of the 4-th floor was used from the register 9.   However for decoding as OC-monsters, and Darkness such analyzer is unsuitable. To decode Darkness (and anyones others "supernumbers"), the logarithmic analyzer is useful:

00. 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18.

The program takes the logarithm generated by commands (00-02) "monsters" and calculates its mantissa and exponent, so the after stop in the register X there is a mantissa (with a small error in last decimal digits), in the register Y - exponent. Pay attention to a fragment (04-09) - calculated logarithm of number is subtracted from thousand; it is easy to be convinced, that such correction is necessary at logarithm of all "supernumbers", down to Zero (that is on 9,9999999e799 inclusive). The fragment (10- 13) uses for allocation of the integer part of number a command of an indirect call.

Let's try our analyzer on Darkness: . After raise in the power eighth owes, it is obvious result number is 10e560. On the indicator the approached value of a mantissa (1,0002303), in the register Y placed completely correct size of the exponent (560).

Whether it is possible to cause Darkness in the register X? It seemed, strange question... But enter in the calculator the program:

00. 01. 02. 03.

Enter in a mode and enter . On the indicator the message error.gif (126 bytes) (result "wrong" commands) lights up, but under it the Darkness - disappears if to entering now one of commands, , or , the indicator will go out. The Darkness "disguised" by the message error.gif (126 bytes), is in the register X, and with it it is possible to address as with any "normal" number - multiple on something, to divide, give logarithm manually, using an above mentioned procedure... And what if to try to calculate number, opposite to Darkness? A command . On the indicator the zero. Seemed, anything surprising this still could turn out as a result of such operation? However we shall not hasten with conclusions, we shall glance in the register C. . On the indicator - familiar "tail" of the monster , equal 10e440. So, by dividing 1 on 10e560, we have received 10e440; however, if to recollect, that ours "Numerical ocean" is characterized by a period in 1000 on size of the exponents, in it besides there is nothing surprising: "1" is identically equal "arithmetics" of the calculator 10e1000 (recollect correction of the logarithm, about which just there was a speech). The important conclusion from here follows: numbers, opposites to Darkness, it OC-monsters; hence, numbers, opposites of the OC-monster, is a Darkness; means, in order to prevent troubles it is not necessary to make above OC-monsters of such operation... Besides there is a suspicion, that the "numerical ocean" is possible to penetrate into ours and with "of a black course" - through numbers with the negative exponents; running forward, we shall specify, that it is valid so.

Except for the "lawful" floor, the Darkness occupied also two "niches" in the world OC-monsters: from 1e450 up to 9,9999999e469 (monsters of the first order) and from 1e445 up to 9,9999999e446 (monsters of the second order); it is easy to see, that in these worlds Darkness "occupied" also the next floor, where, on idea, would owe to settle down C-error.gif (126 bytes) monsters (number with the orders between 600 and 700), to which we shall get acquainted further. Enter, for example, such command (last from the given programs finished ) is entered into the calculator:

.

On the indicator - the message , under it disappears ĪC-monster, equal 10e464. We press , on the indicator a zero. - the indicator dies away, Darkness...

 

Continuation on the next page.

Whether still will be...

This page is under construction.

Last changes: 2000-03-25

. 1