# Autres langages > Autres langages > VHDL >  Nombre ngatif en VHDL

## moktar_bouain

Bonsoir,
Svp j aimerais avoir comment un nombre ngatif peut se coder en VHDL.
Supposons que j'en ai le chiffre suivant en C : 


```

```

Donc en vhdl a = "1111".
Mais si j'en ai :


```
a=-15;
```

a correspond quoi en VHDL?? Est ce qu'il va faire le complment  2 ??
Je vais envoyer des nombres ngatifs de code C vers un code VHDL ce pourquoi je pose la question.

Merci.

----------


## mith06

Bonjour,

Pour reprsenter les nombres ngatifs dans les systmes numriques on utilise de nos jours "le complment  deux".
Il y a eu quelques essais en utilisant le complment  un (calculateur de bord des missions Apollo), mais a n'existe plus.

Pour donner le signe d'un nombre on utilise le bit de poids le + fort, mais ce n'est qu'une interprtation:
Quoi qu'il arrive "1111" reste une suite de bits, mais si tu considres qu c'est un entier non sign alors a vaut 15.
Si tu considres que c'est un entier sign alors a vaut -1.

En VHDL si tu veux faire explicitement ce choix tu peux utiliser les types "signed" et "unsigned". Il se comportent comme le std_logic_vector



```

```





> a= 15;
> Donc en vhdl a = "1111"
> Mais si j'en ai :
> a=-15;


a=-15 Donc a = "10001". Il te faut un bit de +.

----------

