van decimaal naar binair ?

mijn voorkeur:

code:


for (i = 0; i < 8; i++)
    lchar[i] = RAM_content & (0x80>>i) ?'1':'0';
lchar[i] = '\0'; // terminate string

Ik vind het fijn om de "deze loop gaat 8 keer", de 8 echt in m'n code te zien. De extra variabele vind ik niet nodig -> ik heb niet die dubbele constructies met de comma. De "terminate" in de henri62 code KAN niet goed zijn met de \0 al in 255 van 256 mogelijke inputwaardes. De bedoeling was overduidelijk om de ascii chars 0 en 1 te gebruiken.

en eigenlijk is:

code:

itoa (RAM_content, lchar, 2);

het beste. Maar dan is het denk ik niet meer altijd precies 8 karakters.

Nog een alternatief:

code:

for (i = 0; i < 8; i++)
    lchar[i] = '0' + ((RAM_content >> (7-i)) & 1);
lchar[i] = '\0'; // terminate string

Ik heb vluchtig een paar posts terug iets gezien over getallen bij chars optellen. Dus zoiets zal dat wel getriggerd hebben. Ik heb daar niets op tegen.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

[edit: oops: in m'n andere browser stond dit nog "klaar om te posten"]

Op 22 juli 2020 11:23:20 schreef EricP:
Ik heb nog nooit een assembler geschreven. ... :+

Ik heb inderdaad al heel lang geen assembler meer geschreven. Ik heb er denk ik twee geschreven! 6502 op de commodore 64. En 1 voor een op m'n vakgroep gemaakte architectuur. (ik heb 1 of 2 van de chips, 20 of 40% van de wereldproductie, 33 of 66% van de resterende wereldvoorraad).

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 22 juli 2020 22:57:24 schreef Jochem:
Ik vind zo'n for met dubbele instructies de grens van het leesbare opzoeken. Zo hebben we kennelijk allemaal onze voorkeuren.

Klopt zit wel op het randje.

Op 22 juli 2020 22:57:24 schreef Jochem:
Verder snap ik de backlashes voor de 1 en de 0 niet, daar wil je toch gewoon printbare karakters? De null als afsluiter van de string is wel duidelijk natuurlijk.

Oops foutje, die horen er inderdaad niet.

[Bericht gewijzigd door henri62 op vrijdag 24 juli 2020 18:39:55 (30%)

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.