Avatar billede x-periment Nybegynder
22. september 2005 - 22:15 Der er 11 kommentarer og
1 løsning

bit conversion

Er den en åde man kan angive en værdi binært istedet for hex, somhvis man f.eks ska have charater 255 hex kunne skrive som

print(´0xff´) så vidt jeg husker
spørgsmålet er som om det kanskrive binært

print(11111111) på en eller anden smart måde
eller skal man selv lave en funktion der kan omsætte det.

mener man i c kan bruge ios_base oct så vid jeg husker men er ldt i tvivl om hvordan
Avatar billede arne_v Ekspert
22. september 2005 - 22:19 #1
C eller C++ eller C# ?

(jeg tror jeg har kode til det hele)
Avatar billede arne_v Ekspert
22. september 2005 - 22:21 #2
noget C# kode:

using System;

class MainClass
{
    private static string DIGITS = "0123456789ABCDEF";
    private static int FromAny(string s, int radix)
    {
        int res = 0;
        char[] sa = s.ToCharArray();
        for (int i = 0; i < s.Length; i++) {
            res = res * radix + DIGITS.IndexOf(sa[i]);
        }
        return res;
    }
    private static string ToAny(int i, int radix)
    {
        string res = "";
        int tmp = i;
        while (tmp > 0) {
            res = DIGITS.ToCharArray()[tmp % radix] + res;
            tmp = tmp / radix;
        }
        return res;
    }
    public static int FromDec(string s)
    {
        return FromAny(s, 10);
    }
    public static string ToDec(int i)
    {
        return ToAny(i, 10);
    }
    public static int FromHex(string s)
    {
        return FromAny(s, 16);
    }
    public static string ToHex(int i)
    {
        return ToAny(i, 16);
    }
    public static int FromBin(string s)
    {
        return FromAny(s, 2);
    }
    public static string ToBin(int i)
    {
        return ToAny(i, 2);
    }
    public static void Main(string[] args)
    {
        Console.WriteLine(ToBin(FromHex("FF")));
        Console.WriteLine(ToBin(FromDec("11")));
    }
}
Avatar billede arne_v Ekspert
22. september 2005 - 22:22 #3
lidt C++ kode:

#include <iostream>
#include <string>
#include <cstring>

using namespace std;

string xitoa(int v, char *digits)
{
  int radix = strlen(digits);
  string res = "";
  int tmp = v;
  while(tmp>0)
  {
      res = digits[tmp%radix] + res;
      tmp = tmp / radix;
  }
  return res;
}

int main()
{
  cout << xitoa(14,"0123456789ABCDEF") << endl;
  cout << xitoa(22,"0123456789ABCDEF") << endl;
  return 0;
}
Avatar billede x-periment Nybegynder
22. september 2005 - 22:31 #4
´wauv hurtigt var tak kal du havde
det bliver dog en lidt lang særtning når det e output til en parallel port

par.write(tohex(frombin(11111111))

men tak skal du havde og det var i c# point er dine til ug stjerne kryds og bolle og en øl i lufthaven. især hvis du lige fortæller hemmeligeheden med radix ???
Avatar billede arne_v Ekspert
22. september 2005 - 22:33 #5
ovenstående kode giver en String

Encoding.Default.GetBytes(s)

kan give dig det byte array du nok skal bruge
Avatar billede arne_v Ekspert
22. september 2005 - 22:34 #6
radix er bare tal systemet

2 tals systemet eller 7 tals systemet eller
Avatar billede arne_v Ekspert
22. september 2005 - 22:34 #7
og et svar
Avatar billede arne_v Ekspert
22. september 2005 - 22:34 #8
og snak ikke om lufthavne

jeg var gennem Heathrow i morges - og der var køer overalt !
Avatar billede x-periment Nybegynder
22. september 2005 - 22:55 #9
rofl kartoffel uheldige dig
Avatar billede x-periment Nybegynder
23. september 2005 - 00:04 #10
nu hvor vi er igang tænkte jeg på om der var en måde at angive at en int var angivet i bit vist lige som med hex fx.

int i = 255  dec
int i = 0xff hex
int i = ???? bin
Avatar billede arne_v Ekspert
23. september 2005 - 08:45 #11
desværre - det understøtter C# ikke (så vidt jeg ved)

kun decimal, hex og oktal
Avatar billede x-periment Nybegynder
23. september 2005 - 10:15 #12
øv bøv men tak alligevel :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester