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

comment créer tableau, 1 case = 1 bit ?

Lightness1024
Lightness1024
Niveau 10
03 janvier 2004 à 20:02:58

lapitade>

ok pour le lien

a propos du __assume;
ben oui ta raison, chui bete le type a qui je voulais répondre etait une case au dessus de toi, j´ai lu le pseudo du posteur tellement vite que je me suis gouré de case.

en fait ( si le posteur en question lis la fin du post) il parlait d´un front montant créer par
i = 0;
i = 1;
i = 0;
qui ne passait jamais car le compilateur faisait l´optimisation.
si il avait su se servir de son compilateur C++ il l´aurait eu son front montant.
d´une part par l´utilisation de la directive __assume; ou alors en désactivant les options d´optimisation dans la ligne de commande.
( en general l´option s´appelle / O)

Lightness1024
Lightness1024
Niveau 10
03 janvier 2004 à 20:03:56

lapiNtade*
dsl pour la faute de frappe

davidlebars29
davidlebars29
Niveau 2
03 janvier 2004 à 22:42:13

Lightness1024,
" si il avait su se servir de son compilateur C++ il l´aurait eu son front montant.
d´une part par l´utilisation de la directive"

tu me prend pour un abruti ? quand je parlait du front montant c´était un " exemple" pour " prouver" qu´un compilateur ne manipule pas les bits comme on le voudrait avec ou sans optimisation dailleur, evidement la plus part des gars qui sont sur ce forum programment surtout des jeux vidéos donc sa les concernent pas, en revanche quand tu programme des choses comme des cartes micro-controleur, des robots, t´a interêt à te soucier de se qui se passe au niveau de ton processeur,notament quand il manipule des bits,alors quand tu me dit " assume" je me marre,j´ai essayé dans cet exemple de me mettre à la portée des amateurs qui programment en C pour leur expliquer les problèmes qu´ils peuvent rencontrer avec un compilateur, Quand tu programme des systèmes de sécuritée t´a pas le droit de te planter! je te rappelle qu´arianne 5 c´est plantée à cause d´un overflow,donc à cause d´une manipulation de bit par le processeur: mais vu que toi tu sait tout ca, tu va chez ariane espace et tu leur dit " vous savez pas faire de front montant?" " faut chercher la directive,vous avez pas vous servir du C++!!!"
Mais toi faut que tu bosse chez ariane,hein,mais je te remercie moi et tout les programmeur de systèmes car maintenant on sais comment faire un front montant! tout nos soucis sont résolu!!!Alelluia !

Altonfrere
Altonfrere
Niveau 10
03 janvier 2004 à 23:18:06

Franchement si comme tu le dis ils ont vraiment utilisé le C++, je dirais qu´ils sont complètement inconscients! Je pense plutôt que tu confonds, car généralement dans les dév aussi importants ce sont des langages bcp plus sécurisés qui sont utilisés : Ada pour ne pas le citer.

davidlebars29
davidlebars29
Niveau 2
03 janvier 2004 à 23:52:31

Je confond pas,j´ai jamais di qu´il avaient utilisé le C++,qu´ils utilisent celui là ou un otre c pareil,dans ce domaine ya pas de langage " sécurisé" tout dépend du compilateur, c´est au concepteur de choisir son language, mais là c´est le domaine de l´informatique industrielle,(mon réel domaine),et pour le traitement d´information numérique ya pas de languages de " prédilection" ca dépend de ce qu´on veut,tout ce que je peux dire c´est qu´en tant qu´étudiant en informatique industrielle, on nous rabache sans arrêt de se méfier des languages,mêmes de bas niveau,et que l´exemple du front montant est une remarque que la plus part des profs font pour nous le rappeler. Quand tu pilote une machine qui possede la force de te réduire en mietes, ou qui vaut une fortune,peut importe le language choisi,t´a interêt à regarder ce qui ce passe au niveau du processeur,et souvent on se rend compte qu´il fait pas exactement ce que l´on pensai,même au niveau de la RAM des fois ca fais des trucs bizarres. Alors je répète :je n´ai pas la prétention d´avoir la science infuse(personne ne l´a dailleur)mais je lance un avertissement " quand vous traitez des données binaires" méfiez vous du C++,assurez vous qu´il fasse bien ce que vous lui avez demandé,donc en C++ " créer tableau, 1 case = 1 bit ? " c´est surement possible,je dit juste,c´est pas dit que l´on obtienne ce qu´on voulais:si sa se trouve au niveau de la RAM au lieu de mettre à l´adresse $A000 11001110 il va peut être remplir la RAM comme cela:
-$ A000 11111111
-$ A001 11111111
-$ A002 00000000
-$ A003 00000000
-$ A004 11111111
-$ A005 11111111
-$ A006 11111111
-$ A007 00000000
Voilà manifique la compression de données.. et ca ca dépend du compilateur,j´ai pas dit que ca fesait ca a tout les coup,mais c´est 1 risque,alors qu´en assembleur aucuns risques.

maider
maider
Niveau 4
04 janvier 2004 à 18:36:09

le débat à l´air clot...

davidlebars29
davidlebars29
Niveau 2
06 janvier 2004 à 20:02:20

et je pourrait rajouter aussi que même si on parvenait à le faire ce tableau et a le caser en RAM directement sans aucuns trou cela décalerais tout! puisque l´auteur de se sujet voulais 1 tableau de 5 case de 1 Bit et qu´une adresse mémoire en RAM possede 8 Bits, si on veux gagner 1 max de mémoire sans trous on est obliger de chevaucher le 2ème tableau sur deux adresses et ainsi de suite,dans ce cas soit l´optimisateur du C++ fait faire au processeur 1 cycle vide pour recaler les tableaux(dans un tel cas on laisse des trou en RAM donc mauvaise utilisation de celle ci+ ralentissement du système puisqu´il fait 1 cycle d´horloge pour rien,juste pour recaler la RAM) ou 2ème possibilité,on crée une liste ( une struct avec - le tableau et l´adresse du tableau suivant) et le dernier pointe sur NULL(à manipuler en C++ de préférence à cause des constructeurs et destructeur auto)

maider
maider
Niveau 4
06 janvier 2004 à 20:06:28

ouai à la limite une liste et en prime faut faire 1 masque de la case mémoire et faire 1 décalage à droite des bits laissés apparents,et pour simplifier faut en plus pas oublier à déplacer le masque et le décalage

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