CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Base 10 à binaire en basic

anthyme
anthyme
Niveau 10
08 juin 2003 à 17:05:00

j aimerai faire un programe en basic pour transphormer un nombre en base 10 en nombre en binnaire :
Sub binair()
y = Application.InputBox(prompt:="entrez un nombre") ´´´ca c pour aller chercher le nombre
Dim c, x As Long
x = y ´´´y etait en floatant je le met en entier ici
c = 1 ´´´le nombre sera renvoyer dans un tableau d exel j initialise a la colone 1

Do Until ( x = 0)
If x Mod 2 = 0 Then
Cells(1, c) = 0 ´´´cells(1,c) = cellule de ligne 1 et de colone c
Else
Cells(1, c) = 1
End If
c = c + 1
x = x / 2
Loop
End Sub

et ca marche pas : ´(
quelqu un a une idée ?

lag-it
lag-it
Niveau 10
08 juin 2003 à 21:56:08

En basic, je sais pas, mais C ( avec % = modulo ) :

printf("%d",value/128);
value %= 128;
printf("%d",value/64);
value %= 64;
printf("%d",value/32);
value %= 32;
printf("%d",value/16);
value %= 16;
printf("%d",value/8);
value %= 8;
printf("%d",value/4);
value %= 4;
printf("%d",value/2);
value %= 2;
printf("%d | " ,value);

Lightness1024
Lightness1024
Niveau 10
09 juin 2003 à 12:47:49

c´est quoi cette affreuse répétition ?

en tout cas on ferais pas comme ca en C. déja c´est limité a des nombres entre 255 et 0 !
ensuite c´est long a taper ! puis c moche. ( désolé)
il faut faire une boulce a borne variable pour ca.

sinon en basic ya des fonctions deja toutes faites pour l´hexa et l´octal.
en effet pour le binaire fo la faire soi meme

lag-it
lag-it
Niveau 10
09 juin 2003 à 14:12:00

Oui, c´est plutôt laid, sinon ( juste pour 1 octet) :

int value = 124 // Ou autre
for( int boucle = 0 ; boucle < 8 ; boucle++ )
{
printf("%d",value/128);
value %= 128;
}

JeanYvesYves
JeanYvesYves
Niveau 10
09 juin 2003 à 20:49:18

a moi d´ecrire : ) Utilisons ces bons opérateurs binaires : )

  1. define MAXLONG=32 /* long du nombre chiffre bin change a ta guise */

/* soit N ton nombre a transformer */

for(int a=MAXLONG;a>=0;a--)
{
int mask=1;
mask=mask<<a;
if ( (n&)!=0) printf("1"); else printf("0");
}
printf("\n");

JeanYvesYves
JeanYvesYves
Niveau 10
09 juin 2003 à 20:51:34

En basic, utilise les opérateurs AND a la place du & bit a bit.

l´opérateur shiftleft ( <<) n´existe pas en basic je crois. Je sais qu´en pascal et ASM, c´est SHL.
Sinon, multiplie autant de fois par 2 que le 2e opérande du < <

SK8405
SK8405
Niveau 2
17 juin 2003 à 20:55:26

anthyme:

tu a Real Basic?

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment