3013
edycji
(Utworzono nową stronę "EMAWP to biblioteka i narzędzia pozwalające operować na liczbach długich i zmiennoprzecinkowych w taki sam sposób, w jaki robi to Arytmometr Wielokrotnej Precyzji...") |
|||
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
__NOTOC__ | |||
EMAWP to biblioteka i narzędzia pozwalające operować na liczbach długich i zmiennoprzecinkowych w taki sam sposób, w jaki robi to [[Arytmometr Wielokrotnej Precyzji]]. Biblioteka używana jest przez emulator [[EM400]] do realizowania funkcjonalności AWP, oraz przez assembler [[EMAS]] i deassembler [[EMDAS]] do konwersji liczb zmiennoprzecinkowych między konwencją zapisu MERY-400 a formatem systemu, na którym narzędzia działają. | EMAWP to biblioteka i narzędzia pozwalające operować na liczbach długich i zmiennoprzecinkowych w taki sam sposób, w jaki robi to [[Arytmometr Wielokrotnej Precyzji]]. Biblioteka używana jest przez emulator [[EM400]] do realizowania funkcjonalności AWP, oraz przez assembler [[EMAS]] i deassembler [[EMDAS]] do konwersji liczb zmiennoprzecinkowych między konwencją zapisu MERY-400 a formatem systemu, na którym narzędzia działają. | ||
Linia 64: | Linia 65: | ||
* C - przeniesienie | * C - przeniesienie | ||
* V - przepełnienie | * V - przepełnienie | ||
Na przykład: | |||
> emawp -d 0.0000000000000000000000001 1000000000000000000000000000000000000000 | |||
in1: OK ---- 0x7bcb 0x43d7 0x69ad <- 0.000000000000000000000000100000000000000004 | |||
in2: OVFLOW ---- 0x5e0a 0x1fd2 0x7182 <- 999999999999999939709166371603178586112.000 | |||
div: OK ---- 0x543f 0xf513 0xd22c -> 11579208923712.00000000000000000000000000000 | |||
> emawp -s 1 1 | |||
in1: OK ---- 0x4000 0x0000 0x0001 <- 1.000000000000000000000000000000000000000000 | |||
in2: OK ---- 0x4000 0x0000 0x0001 <- 1.000000000000000000000000000000000000000000 | |||
sub: OK Z--- 0x0000 0x0000 0x0000 -> 0.000000000000000000000000000000000000000000 | |||
> emawp -d 0.0000000000000000000000000000000000000001 100000000000000000000000000000000000 | |||
in1: UDFLOW ---- 0x45b0 0x989d 0xdd7c <- 0.000000000000000000000000000000000000000100 | |||
in2: OK ---- 0x4d09 0x85cb 0x1d75 <- 99999999999999996863366107917975552.0000000 | |||
div: OK ---- 0x73ca 0xc65c 0x3907 -> 115.7920892371330410242080688476562500000000 | |||
> emawp -a -- -1.0 1 | |||
in1: OK -M-- 0x8000 0x0000 0x0000 <- -1.000000000000000000000000000000000000000000 | |||
in2: OK ---- 0x4000 0x0000 0x0001 <- 1.000000000000000000000000000000000000000000 | |||
add: OK Z--- 0x0000 0x0000 0x0000 -> 0.000000000000000000000000000000000000000000 |