Syntaxe

Divise deux nombres. / garde les décimales ; DIV ne garde que la partie entière, coupée vers zéro.

<a> DIV <b>
<a> / <b>

S’écrit aussi : /, integer division

Les éléments

<a>Le nombre à diviser. Pour DIV : un nombre, une variable sans sigle, une case de tableau, un champ de record ou un groupe entre parenthèses.
<b>Le diviseur. Pour DIV : un nombre, éventuellement précédé d'un signe moins, une variable sans sigle, une case de tableau ou un champ de record.

À savoir

  • / garde toujours les décimales, même entre deux entiers : 7 / 2 vaut 3.5. Diviser par zéro avec / donne Infinity.
  • DIV coupe vers zéro : -7 DIV 2 vaut -3, 7.5 DIV 2.5 vaut 3. Diviser par zéro arrête le programme avec BASIC integer division by zero.
  • DIV passe avant * et / : 2 * 7 DIV 2 vaut 2 * 3, donc 6.
  • Défaut : après un + ou un -, DIV casse le programme. h = 10 + 9 DIV 2 et h = 10 - x DIV 2 se compilent, mais le programme ne démarre pas. Mettez le DIV entre parenthèses, 10 + (9 DIV 2), ou écrivez-le en premier, 9 DIV 2 + 10.
  • Après un appel de commande, il casse aussi le programme : Len(s$) DIV 2 se compile mais ne démarre pas. Devant un groupe entre parenthèses, il est refusé : a DIV (b - 1) donne Unknown BASIC command: DIV(). Rangez d'abord l'appel ou le groupe dans une variable.
  • Défaut : une variable à sigle à gauche casse le programme : z# DIV 2 se compile mais ne démarre pas. Écrivez (z#) DIV 2.
  • MOD n'est pas un opérateur : 7 MOD 2 est refusé. Utilisez Mod() pour le reste, FMod() pour les décimaux. La barre oblique inverse des autres BASIC, a \ b, se compile mais le programme ne démarre pas : écrivez a DIV b.
  • Avec des valeurs int64, DIV divise exactement, en nombres entiers.

Exemple

a = 7b = 2Console(Str(a / b))   ' 3.5Console(Str(a DIV b))   ' 3Console(Str(-7 DIV 2))   ' -3h = 10 + (a DIV b)Console(Str(h))   ' 13
Dans le manuel : Constantes et opérateurs

Commandes associées