# Qalculate!

**URL:** <https://www.debian-fr.org/t/qalculate/92861>\
**Category:** Pause Café\
**Created:** [Septembre 10, 2026, 11:07 UTC](https://www.debian-fr.org/t/qalculate/92861 "2026-09-10T11:07:24Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Septembre 10, 2026, 11:07 UTC](https://www.debian-fr.org/t/qalculate/92861/1 "2026-09-10T11:07:24Z")

</div>

Bonjour  
J’en suis content (après en avoir essayé plusieurs des dépôts) sauf que . . .  
quelqu’un pourrait-il m’expliquer comment réaliser une conversion d’un nombre base 10 en nombre base 2.  
Simplement, directement et rien d’autre !

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Septembre 10, 2026, 11:35 UTC](https://www.debian-fr.org/t/qalculate/92861/2 "2026-09-10T11:35:27Z")

</div>

1. Tu divises ton nombre euclidiennement (avec reste) par 2.
2. Si le nombre est impair, au début de la conversion en base 2, tu notes 1, sinon 0.
3. Remplace le nombre par le quotient.
4. Tant que ton nombre n’est pas 0, tu recommences au 1).

Exemple avec 37 :

```
37=18×2+1 → 1 reste 18
18=9×2+0 → 01 reste 9
9=4×2+1 → 101 reste 4
4=2×2+0 → 0101 reste 2
2=1×2+0 → 00101 reste 1
1=0×2+1 → 100101 reste 0

```

Donc 37₁₀=100101₂.  
En effet, 37=32+4+1=1×2⁵+0×2⁴+0×2³+1×2²+0×2¹+1×2⁰.

---

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Septembre 10, 2026, 1:23 UTC](https://www.debian-fr.org/t/qalculate/92861/3 "2026-09-10T13:23:56Z")

</div>

Merci  
Maintenant, avec la calculatrice ! Oui, j’ai manqué de précision . . . 🙃

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Septembre 10, 2026, 2:22 UTC](https://www.debian-fr.org/t/qalculate/92861/4 "2026-09-10T14:22:52Z")

</div>

> [@antek](#):
>
> Maintenant, avec la calculatrice ! Oui, j’ai manqué de précision . . . 🙃

tape nombre to bin

```auto
42 to bin

```

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Septembre 10, 2026, 3:18 UTC](https://www.debian-fr.org/t/qalculate/92861/5 "2026-09-10T15:18:06Z")

</div>

C’est avec le bouton en bas à droite du pavé des fonctions :  
 ![image](https://www.debian-fr.org/uploads/default/original/2X/7/76bfd1883d7c70832c7416e5103c037319955abe.png)

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 10, 2026, 6:08 UTC](https://www.debian-fr.org/t/qalculate/92861/6 "2026-09-10T18:08:42Z")

</div>

facile 37=32+5 donc 100000+101=100101 😉

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 10, 2026, 6:13 UTC](https://www.debian-fr.org/t/qalculate/92861/7 "2026-09-10T18:13:07Z")

</div>

il faut plutot travailler dans la base numéraire correspondante, donc avec les puissance de 2, sachant que par 4 bits c’est des bnlocs puissance de 16, par 8 bits des blocs puissance de 256, etc…

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Septembre 10, 2026, 6:28 UTC](https://www.debian-fr.org/t/qalculate/92861/8 "2026-09-10T18:28:37Z")

</div>

> [@Zargos](#):
>
> il faut

Non, il ne _faut_ pas, il _suffit_ de.  
C’est une autre technique, mathématiquement équivalente mais qui suppose de chercher d’abord le logarithme en base 2 du nombre.  
L’avantage de la « mienne » est qu’elle est simplissime à écrire (mais un poil moins pour comprendre pourquoi ça marche).

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Septembre 10, 2026, 8:39 UTC](https://www.debian-fr.org/t/qalculate/92861/9 "2026-09-10T20:39:34Z")

</div>

```auto
echo 'obase=2;42' | bc
```

inversement

```auto
echo 'obase=10;ibase=2;10101010' | bc
```

---

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Septembre 11, 2026, 9:03 UTC](https://www.debian-fr.org/t/qalculate/92861/10 "2026-09-11T09:03:34Z")

</div>

Merci à vous, je regarde ça.

@nicola  
Non, il ne _faut_ pas, il _suffit_ de → ça me rajeunit → il faut **et** il suffit . . .

---

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Septembre 11, 2026, 12:25 UTC](https://www.debian-fr.org/t/qalculate/92861/11 "2026-09-11T12:25:00Z")

</div>

> [@Clochette](#):
>
> tape nombre to bin
> 
> ```auto
> 42 to bin
> 
> ```

De toutes les propositions c’est la plus simple 😀

Avec une hésitation pour celle de _ **Zargos** _, mais elle ne fonctionne que pour 37 . . .

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Septembre 11, 2026, 2:06 UTC](https://www.debian-fr.org/t/qalculate/92861/12 "2026-09-11T14:06:04Z")

</div>

Si ta question est bien relative à **Qalculate** , le sujet, il n’y a pas de difficulté particulière à convertir de décimale en binaire:

 ![qalculate1_20260911](https://www.debian-fr.org/uploads/default/original/2X/b/b224883dcbb516e1b2b867efa9af3aaad110c9d5.png) ![qalculate2_20260911](https://www.debian-fr.org/uploads/default/original/2X/4/49c79c14e62fbf096684f88bb1f28e3a606f3f63.png)

Si la question n’est plus relative à Qalculate, mais une autre solution graphique, **speedcrunch** peut aussi convenir:

`bin(255) > 0b11111111`

Si ta recherche est une solution en mode terminal, et que Qalculator est installé, **qalc** est disponible, et la syntaxe qui fonctionne dans mon environnement est celle-ci:

```auto
qalc dec 255 to bin
dec("255") = 0000 0000 1111 1111

```

→ la base numérique d’entrée doit être renseignée. Pourquoi pas nécessaire ailleurs ? Je l’ignore.

Sinon, avec **bc** plus couramment utilisé, mais n’est pas installé par défaut.  
 → ibase= input base ; obase= output base

```auto
echo "-ibase=10 ; -obase=2; 255" |bc
11111111

```

Sinon, **Bash** permet de faire directement une conversion décimale/binaire avec cette fonction par exemple:

```auto
dec2bin(){ local n b
    for ((n=$1;n>0;n>>=1)); do b=$((n&1))$b; done
    printf "%s\n" "${b-0}"
}

dec2bin 255
11111111

```

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Septembre 11, 2026, 2:09 UTC](https://www.debian-fr.org/t/qalculate/92861/13 "2026-09-11T14:09:25Z")

</div>

> [@Verner](#):
>
> mais une autre solution graphique, **speedcrunch** peut aussi convenir:
> 
> `bin(255) > 0b11111111`

Python fait exactement la même chose (et la sortie est une chaîne de caractères).

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 11, 2026, 3:03 UTC](https://www.debian-fr.org/t/qalculate/92861/14 "2026-09-11T15:03:23Z")

</div>

> [@antek](#):
>
> Avec une hésitation pour celle de _ **Zargos** _ , mais elle ne fonctionne que pour 37 . . .

Elle marche pour tous les nombres mais implique de bien connaître le binaire (et donc les puissances de deux) et les notion de numération.  
La conversion se fait à partir de la décomposition des puissances de 2, 16, 256, 65536, etc.

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Septembre 19, 2026, 2:13 UTC](https://www.debian-fr.org/t/qalculate/92861/15 "2026-09-19T14:13:11Z")

</div>

> conversion d’un nombre base 10 en nombre base 2.  
> Simplement, directement et rien d’autre !  
> …/…  
> Maintenant, avec la calculatrice !

Il faudrait mieux décrypter ce qui signifie «&nbsp;plus simple&nbsp;» ou avec «&nbsp;la calculatrice&nbsp;» dont chacun peut avoir une interprétation différente.

Quelques points complémentaires à toutes fins utiles ou pas:  
Pas convaincu qu’une décomposition manuelle en facteurs de 2 soit la méthode «&nbsp;la plus simple&nbsp;», si le nombre à convertir est à 10 chiffres. Encore faut-il faire au moins un script pour rendre la conversion moins laborieuse et chronophage.

Qalculate est puissant, mais un peu trop usine à gaz pour une usage ‹&nbsp;simple&nbsp;› et courant.  
Speedcrunch que j’avais tenté d’abandonner car non porté en qt6 est un bon compromis en application qt, entre puissance et ergonomie: finalement ré-adopté en qt5 puisque VLC n’est pas encore porté en qt6.

Qalc peut avoir un comportement non prédictif causé par sa configuration stockée dans `~/.config/qalculate/qalc.cfg`, qui explique pourquoi «&nbsp;`qalc 42 to bin`&nbsp;» ne fonctionnait plus directement dans mon environnement, mais bien après purge de ce fichier dont la gestion reste à clarifier (aussi alimenté par qalculate ?).

La solution techniquement la plus efficace est la fonction (ou script) dec2bin proposée:

1- ne nécessite aucune application supplémentaire autre que Bash installé par défaut  
2- la conversion ne nécessite aucun calcul en décimal, un CPU ne comprenant que les 0/1.

Le seul petit bémol: fonctionnement pas simple à comprendre puisque faisant appel à des ‹&nbsp;bitwise operators&nbsp;› de bash non couramment utilisés. Il faut moins de 200 nanosecondes à dec2bin pour convertir un nombre décimal à 10 chiffres en binaire:

```plaintext
dec2bin 1234567890
1001001100101100000001011010010

```

Il faut être plus courageux et avoir du temps à perdre pour faire la même opération manuellement et sans calculatrice.
