2016-08-02 30 views
0

So Oktal Umwandlung habe ich eine ganze Zahl Zahl 208 ich nicht viele erwarten zu verstehen, warum ich dies tue, aber das Endergebnis von dem, was ich zu tun versuchen, ist die Base- erhalten 10 Darstellung der Oktalzahl 208 (zwei-null-acht). Ich erwarte, dass die verwirrende Sache (für Leute, die versuchen werden, diese Frage zu beantworten) darin besteht, dass, während 208 eine ganze Zahl ist, ich es eher wie eine Zeichenfolge verwende, die die Zeichen zwei, null und acht enthält. Bitte lassen Sie mich wissen, wenn es weitere Fragen zu diesem Thema gibt, da ich denke, dass es zu einiger Verwirrung führen wird.Seltsame Format wenn

Wie dem auch sei, die Basis 10 Darstellung von "208" ist hier zu bekommen ist, was ich tue:

  1. int Convert 208 in string "208".
  2. Nehmen Sie die string "208" und analysieren Sie von oktal bis dezimal.

Dann ist hier die entsprechende Quellcode:

public byte OctalToDecimal(int octalDigits) 
{ 
    byte decimalValue = 0; 
    string octalString = string.Empty; 

    // first, get a string representation of the integer number 
    octalString = octalDigits.ToString(); 

    // now, get the decimal value of the octal string 
    decimalValue = Convert.ToByte(octalString, 8); 

    // set the decimal-value as the label 
    return decimalValue; 
} 

ich ein Format Ausnahme, wenn octalDigits = 208 erhalten. Ich bekomme eine Nachricht darüber, dass im octalString Wert weitere Zeichen enthalten sind. Warum sollte das sein? Alles, was ich tue, ist von int zu string konvertieren, es ist sehr kurz/einfach, und nicht wie ich etwas anhängen. Was ist los?

+1

Das ist weil '8' ist _keine gültige Ziffer_ für Oktalzahlen. Oktalsymbole reichen von "0" bis "7"! –

+0

208 ist * nicht * eine gültige Oktalzahl. Sie * können die Ziffer 8 nicht in einer Oktalzahl haben. In jedem Fall speichert ein "int" den tatsächlichen Wert. Über Basis und Repräsentation zu reden ist bedeutungslos - es gibt keine. Base-10 oder 8 hat eine Bedeutung, wenn versucht wird, den tatsächlichen Wert zu einer Zeichenfolge zu formatieren. –

+0

Ich vermute, das ist ein Fall von [XY-Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - Sie haben ein Problem X, denke, dass Y ist Lösung, so dass Sie nach Y fragen, wenn Sie in Schwierigkeiten geraten. Was ist dein * aktuelles * Problem? –

Antwort

0

Oktal Zahlen nicht enthalten Ziffer 8 , wie Basis-10-Darstellung kann nicht enthalten "Ziffer" 10 und Binär kann nicht die Ziffer 2 enthalten.

+1

Dies sollte ein Kommentar sein, keine Antwort –