Forum: Offtopic integer Zahl durch 1024 teilen


von top (Gast)


Lesenswert?

Hi

Was für ein Ergebnis erhalte ich, wenn ich eine Integer Zahl durch 1024 
teile?



VG

: Verschoben durch Admin
von TK (Gast)


Lesenswert?

Hä??

von Peter II (Gast)


Lesenswert?

top schrieb:
> Was für ein Ergebnis erhalte ich, wenn ich eine Integer Zahl durch 1024
> teile?

wenn du keinen Fehler machst, dann das richtige.

Was ist das für eine blöde frage?

von top (Gast)


Lesenswert?

Das wird doch immer eine Gleitkommazahl, oder?


Aber ich will verstehen warum!


VG

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

top schrieb:
> Was für ein Ergebnis erhalte ich, wenn ich eine Integer Zahl durch 1024
> teie
Wenn alles gut geht einen um 1024 kleineren Wert.

Du solltest deine Fragen in den richtigen Kontext stellen. Der Computer 
kann keine Gedanken lesen...

von Dieter F. (Gast)


Lesenswert?

Lothar Miller schrieb:
> Wenn alles gut geht einen um 1024 kleineren Wert.

Wenn alles gut geht einen um "den Faktor" 1024 kleineren Wert

von Peter II (Gast)


Lesenswert?

top schrieb:
> Das wird doch immer eine Gleitkommazahl, oder?

nö, warum sollte es das werten.

von (prx) A. K. (prx)


Lesenswert?

Das kommt drauf an worin und womit.

von Hanno (Gast)


Lesenswert?

top schrieb:
> Das wird doch immer eine Gleitkommazahl, oder?

Nö. Eine Intergerzahl geteilt durch eine andere ergibt natürlich wieder 
eine Integerzahl.

von (prx) A. K. (prx)


Lesenswert?

Peter II schrieb:
> nö, warum sollte es das werten.

Weil (value / 1024) so definiert ist (in Pascal)?

Hanno schrieb:
> Eine Intergerzahl geteilt durch eine andere ergibt natürlich wieder
> eine Integerzahl.

Ganz so natürlich ist das nicht. Es hängt davon ab, wie die 
Programmiersprache das definiert. Die wurde hier nämlich nicht erwähnt.

: Bearbeitet durch User
von Dennis K. (scarfaceno1)


Lesenswert?

Wir sind ja im Bereich µC des Forums.

Von daher würde ich sagen, wenn du es mit einem Shift Befehl löst, dann 
kommt was ganzzahliges raus...

:-P

von top (Gast)


Lesenswert?

Gibt es noch einen anderen Grund warum man gerade durch 2^10 teilt?

von (prx) A. K. (prx)


Lesenswert?

Dennis Kaufmann schrieb:
> Von daher würde ich sagen, wenn du es mit einem Shift Befehl löst, dann
> kommt was ganzzahliges raus...

Jo, aber nicht unbedingt das richtige Ergebnis. Wenn negativ. ;-)

: Bearbeitet durch User
von Walter (Gast)


Lesenswert?

top schrieb:
> Gibt es noch einen anderen Grund warum man gerade durch 2^10 teilt?

was ist denn der erste Grund?

von top (Gast)


Lesenswert?

Mir geht es hier um das Verständnis. Meine Protokoll gibt mir eine 
Integerzahl aus. z.B. -5566 oder 20000.


Das Ergebnis das ich aber brauche ist für mich seltsamerweise immer die 
Division durch 1024.


Ich verstehe aber nicht warum und warum gerade 1024 der Teiler ist.


-5566/1024 = -5,43...(stimmt)
20000/1024 = 19,53... (stimmt auch)

von Bastler (Gast)


Lesenswert?

Pascal probiert und gerade dabei den Unterschied zwischen / und div zu 
lernen?

von (prx) A. K. (prx)


Lesenswert?

top schrieb:
> Das Ergebnis das ich aber brauche ist für mich seltsamerweise immer die
> Division durch 1024.

Vielleicht solltest du mal etwas über den Kontext der Frage verraten. 
Dort nämlich dürfte die Antwort liegen.

von top (Gast)


Lesenswert?

ne

von Thomas Z. (thomas_z41)


Lesenswert?

Sind das vielleicht Werte von einem 10bit ADC?

Ohne genau zu wissen was du machst kann man nur raten...

von (prx) A. K. (prx)


Lesenswert?

Bastler schrieb:
> Pascal probiert und gerade dabei den Unterschied zwischen / und div zu
> lernen?

Keine Sorge, das ist schon länger her. Und hättest du meine Antwort 
davor verstanden, dann hättest du erkennen können, dass ich den kenne. 
Es ist nur einfach so, dass in der Frage jeglicher Kontext fehlte. Bei 
solchen Fragen neige ich dazu, mir diesen Kontext nach Gusto hinzu zu 
erfinden, gern etwas schräg.

: Bearbeitet durch User
von Walter (Gast)


Lesenswert?

in meinem Programm wird irgendeine Zahl durch 12 geteilt,
kann mir einer erkären warum gerade 12?

von Bitflüsterer (Gast)


Lesenswert?

top schrieb:
> Mir geht es hier um das Verständnis. Meine Protokoll gibt mir eine
> Integerzahl aus. z.B. -5566 oder 20000.
>
> Das Ergebnis das ich aber brauche ist für mich seltsamerweise immer die
> Division durch 1024.
>
> Ich verstehe aber nicht warum und warum gerade 1024 der Teiler ist.
>
> -5566/1024 = -5,43...(stimmt)
> 20000/1024 = 19,53... (stimmt auch)

Und woher weisst Du, dass bei -5566 das Ergebnis, dass Du brauchst,-5,43 
ist?

von (prx) A. K. (prx)


Lesenswert?

Thomas Z. schrieb:
> Sind das vielleicht Werte von einem 10bit ADC?

Kennst du einen 10-Bit ADC, der mit 20000 antwortet?

von Bastler (Gast)


Lesenswert?

@K.A.: Sorry, mein impliziter Adressat war der TO

von Peter II (Gast)


Lesenswert?

A. K. schrieb:
> Kennst du einen 10-Bit ADC, der mit 20000 antwortet?

wenn die 10bit left align sind, warum nicht?

von Thomas Z. (thomas_z41)


Lesenswert?

A. K. schrieb:
> Kennst du einen 10-Bit ADC, der mit 20000 antwortet?

Stimmt, da hast du natürlich recht :D

von (prx) A. K. (prx)


Lesenswert?

Peter II schrieb:
> wenn die 10bit left align sind, warum nicht?

Probiers mal aus ...

: Bearbeitet durch User
von top (Gast)


Lesenswert?

Ich möchte Werte aus einem Protokoll extrahieren.

Die Daten liegen in Hex vor. Immer 4Byte ergeben einen Wert.


Die 4 Byte habe ich zusammengefasst.

L=a0*2^0+a1*2^8+a2*2^16+b3*2^24


Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes 
Ergebnis, aber warum?

VG

von Peter II (Gast)


Lesenswert?

top schrieb:
> Die Daten liegen in Hex vor. Immer 4Byte ergeben einen Wert.

also liegen sie NICHT als Hex vor. Sie liegen als Byte vor.

von (prx) A. K. (prx)


Lesenswert?

Binäre Festkommadarstellung mit 10 Nachkommastellen.

von top (Gast)


Lesenswert?

ja

von top (Gast)


Lesenswert?

A. K. schrieb:
> Binäre Festkommadarstellung mit 10 Nachkommastellen.

Wie jetzt?

von (prx) A. K. (prx)


Lesenswert?

Das ist die Antwort auf deine Frage. Langfassung für Suchfaule:
https://de.wikipedia.org/wiki/Festkommazahl

: Bearbeitet durch User
von Bitflüsterer (Gast)


Lesenswert?

>Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes
>Ergebnis, aber warum?

Warum? Ja, das ist so gewesen:

Als eines Tages der Schreiner Ovid Kevin Müller-Katzenstein am Brunnen 
saß kam ein Floh vorbei. Der Floh hatte schlechte Laune, war aber 
gewillt, sich mit einem Pflaumenmußbrot mit Senf zufrieden zu geben, 
anstatt die Welt mit der universellen Konstante in den Abgrund zu 
reißen. Im Gegensatz zur allgemeinen Meinung nämlich ist die universelle 
Konstante kein Segen sondern ein Fluch. Aber das wusste damals niemand.
Und so war der Schreiner Ovid Kevin Müller-Katzenstein der Mensch, der 
unwissen die Welt in den Abgrund riß. Er sah nämlich nicht hin. Dass 
heißt, er sah nach oben in die Wolken und dachte noch, dass die eine da, 
über dem Haus der Witwe Bollinger, die immer so gute Rostbratwürstel 
briet, irgendwie aussah wie ein Floh. Das er nur nach links unten, neben 
seinen rechten Schuh hätte schauen müssen, um einen echten Floh zu sehen 
und damit auch noch die Welt gerettet hätte, wußte er nicht. Nach der 
Wolke sah er noch den Nagel seines linken Daumens an, der eine Maniküre 
nötig gehabt hätte und dann kratzte er sich am Hals. Da hatte der Floh 
nämlich hingebissen, vor lauter Verzweiflung, nicht beachtet zu werden.
Er wich dem rechten Zeigefinger des Schreiners Ovid Kevin 
Müller-Katzenstein geschicht aus und dachte: Jetzt zeig' ich's Euch.
Da erfand er die Zahl, durch die von nun an jede andere Zahl geteilt 
werden musste, damit man das richtige Ergebnis erhielt.

So war das, damals.

von Dirk K. (dekoepi)


Lesenswert?

Ich les' hier immer Gleitkomma, Festkomma, ...

Mach doch einfach Ergebnis = Wurstiges_Input >> 10.
Da is nix mit Komma und dein Wert stimmt. Und der Prozi kann das richtig 
fix.

Und sowieso ist die Frage wirklich der Hammer!

"Nachts ist es kälter als draußen, und ich möchte verstehen, warum? 
Immer, wenn ich links gehe, dann Peng!". Ergibt alles keinen Sinn.

von Peter D. (peda)


Lesenswert?

top schrieb:
> Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes
> Ergebnis, aber warum?

Da mußt Du mal in der Beschreibung des bisher nicht genannten Protokolls 
nachlesen. In Deinen Kopf schauen können wir nicht.


top schrieb:
> -5566/1024 = -5,43...(stimmt)
> 20000/1024 = 19,53... (stimmt auch)

Also in C stimmt beides nicht. Du mußt mindestens einen Operanden nach 
float casten.
Der Compiler kann ja nicht Deine Gedanken lesen, für ihn gilt:
int / int = int.

von top (Gast)


Lesenswert?

Coole Story

von top (Gast)


Lesenswert?

Ok verstanden...

Mal im ernst, warum schifftet man dann hier gerade um 10?


VG

von top (Gast)


Lesenswert?

Das soll mit dem IP-Protokoll durchgeführt werden

von Dirk K. (dekoepi)


Lesenswert?

Die zur Analyse und Beantwortung der Frage nötige Aufforderung zur 
Offenlegung der Quelle/des Protokoll überliest du geflissentlich?

Implizit also: Es fehlen alle Hintergrundinformationen.

Daher tippe ich darauf, dass die von Außerirdischen gezwungen wurden, 
das um 10 Bit zu schieben.

von (prx) A. K. (prx)


Lesenswert?

top schrieb:
> Mal im ernst, warum schifftet man dann hier gerade um 10?

Weil das im Protokoll mal irgendwer so festgelegt hat?

von Max H. (hartl192)


Lesenswert?

top schrieb:
> Mal im ernst, warum schifftet man dann hier gerade um 10?
1024=2^10

Warum shiftest du in Dezimalsystem um 3 wenn du durch 1000 dividieren 
willst?
1000=10^3

: Bearbeitet durch User
von top (Gast)


Lesenswert?

Ich möchte Werte aus einem IP-Protokoll extrahieren.

Immer 4Byte ergeben einen Wert.

255 155 100 0

Die 4 Byte habe ich zusammengefasst.

L=a0*2^0+a1*2^8+a2*2^16+b3*2^24


Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes
Ergebnis, aber warum?

VG

von flop (Gast)


Lesenswert?

top schrieb:
> Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes
> Ergebnis, aber warum?

witziger Zufall.
Ich muss durch 731 teilen, um mein gewünschtes Ergebnis zu bekommen.
Ob das vielleicht daran liegt, dass ich mir ein anderes Ergebnis 
wünsche?

von Dirk K. (dekoepi)


Lesenswert?

Weil dein Ergebnis offenbar von irgendwem so definiert wurde.


Die Berechnung des Dezimalwerts deiner IP-Adresse sieht korrekt aus.

Warum dein Ergbnis nun das Ganze durch 1024 geteilt sein soll, weiß 
immer noch niemand.

von Max H. (hartl192)


Lesenswert?

A. K. schrieb:
> Vielleicht solltest du mal etwas über den Kontext der Frage verraten.
> Dort nämlich dürfte die Antwort liegen.
top schrieb:
> ne

Mit der Einstellung können wir den Thread vergessen...

von (prx) A. K. (prx)


Lesenswert?

top schrieb:
> Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes
> Ergebnis, aber warum?

Weil das Nesthäkchen des Entwicklers vom Protokoll tags zuvor 10 Jahre 
alt wurde und der Entwickler sich mit Zweierpotenzen auskannte.

So allmählich sollte eigentlich der Groschen gefallen sein. Andernfalls 
ist was in der Groschenfallmaschine kaputt.

: Bearbeitet durch User
von Dirk K. (dekoepi)


Lesenswert?

So ist sie, die Jugend von heute. Vielleicht fällt dem Thread-Ersteller 
die besagte Maschine mal auf den Kopf, löst dabei die Synapsenverknotung 
und hilft so beim Verständnis, wie viel Information zur Lösung einer 
Fragestellung denn nötig ist.

von Bitflüsterer (Gast)


Lesenswert?

Da wohl keine reale Person in diesem extremen Maß intellektuell 
herausgefordert ist, wird es sich mit ziemlicher Sicherheit um einen 
Troll handeln.

von Dirk K. (dekoepi)


Lesenswert?

Meinste?

Na dann noch ein Lösungsansatz hintendran: Das endoplasmatische 
Retikulum schnürt Vesikel ab. Außerdem möchte ich wissen, was Diffusion 
durch eine semipermeable Membran ist.

von nicht "Gast" (Gast)


Lesenswert?

Eventuell geht es um eine Subnetzmaske? /22 wären die letzten 10 Bits 
"egal"...

https://de.wikipedia.org/wiki/Netzmaske

von Daniel A. (daniel-a)


Lesenswert?

top schrieb:
> Ich möchte Werte aus einem IP-Protokoll extrahieren.

Aus welchem genau.

IPv4? http://www.ietf.org/rfc/rfc791.txt
IPv6? http://www.ietf.org/rfc/rfc2460.txt
Oder die nächste schicht? tcp/ip? http://www.ietf.org/rfc/rfc793.txt

> Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes
> Ergebnis, aber warum?

Das es im IP-Protokoll Zahlen mit Nachkomma gibt, ist mir neu.
Woher hast du die Info, welches Resultat du haben möchtest?
Ist es wirklich ein IP Protokoll?

Spezifiziere: Genaues Protokoll, ALLE eingabewerte, Alle ausgangswerte, 
Quelle, Zeile.

von c-hater (Gast)


Lesenswert?

nicht "Gast" schrieb:

> Eventuell geht es um eine Subnetzmaske? /22 wären die letzten 10 Bits
> "egal"...

Vorsicht, es ist eine ganz blöde Idee, Host- und Netzadresse mittels 
Shift-Operationen zu trennen.

Daß die Netzadresse ein durchgängiger Block von Bits in der "linken 
Hälfte" einer IPv4-Adresse ist, ist nur eine Empfehlung, keine zwingende 
Verpflichtung.

Genau deswegen gibt's neben der CIDR-Schreibweise für Netzmasken auch 
die klassische als IP-Adresse. Nur die kann nämlich alle Fälle abbilden, 
auch die, die nicht der Empfehlung entsprechen.

Und die Abtrennung von Netz und Host macht man so, wie sie auch die 
Hardware macht, denn das paßt immer, unabhängig von Endianess und der 
konkreten Netzwerkmaske:

Netz=Adresse & Netzwerkmaske
Host=Adresse & !Netzwerkmaske

von Easylife (Gast)


Lesenswert?

top schrieb:
> Ok verstanden...
>
> Mal im ernst, warum schifftet man dann hier gerade um 10?

Ganz großes Kino.

Lieber "top",
deine Fragestellung hat dir auch nach zig Forumsbeiträgen keine Antwort 
geliefert.
Warum?
Es wurde doch klar, dass es sich um eine Zahl handelt, die einen 
10-stelligen binären Nachkommaanteil enthält.
Warum und wozu kann dir nicht mal der Allmächtige sagen, ohne dass du 
uns erklärst, wo deine "-5566" und "20000" herkommen, und was mit dieser 
Zahl gemacht werden soll.
Ein Codebeispiel wäre hier zielführend, aus dem hervorgeht, wie diese 
Zahlen einer Variablen zugewiesen werden, und was weiter mit dieser Zahl 
passiert.

von Walter (Gast)


Lesenswert?

top schrieb:
> Was für ein Ergebnis erhalte ich, wenn ich eine Integer Zahl durch 1024
> teile?

ob ich das noch ein Mal erleben darf dass niemand auf eine solche Frage 
antwortet  ...

von Andreas D. (rackandboneman)


Lesenswert?

@c-hater Hast Du so etwas jemals in der Praxis gesehen? Da findet man 
eher noch klassenbasierte Netze und Geräte (mit denen sich das natürlich 
gar nicht vertragen würde) als sowas...

von Arsch G. (arschgwaf)


Lesenswert?

top schrieb:

> Wenn ich jetzt genau durch 1024 teile bekomme ich mein gewünschtes
> Ergebnis, aber warum?


Das liegt daran, dass die NSA deine Daten zu deiner eigenen Sicherheit 
verschlüsselt. Da der NSA Schlüssel Großbuchstaben, Kleinbuchstaben und 
Sonderzeichen enthalten muss hat man sich innerhalb der NSA auf den 
Schlüssel "Obama " geeinigt. In ASCII ist das:
"O" = 0x4F = 79
"b" = 0x62 = 98
"a" = 0x61 = 97
"m" = 0x6D = 109
"a" = 0x61 = 97
" " = 0x20 = 32

79+98+97+109+97+32=512

Damit es nicht so leicht zu entschlüsseln ist wird das ganze jetzt noch 
um eine Bit geshiftet. Das enspricht Multiplikation mit 2. Also 512*2 = 
1024.

Daher sind alle deine Daten mit 1024 multipliziert, um für die NSA 
leicht auswertbar zu sein und dich gleichzeitig vor der Wahrheit zu 
schützen. Der Länder übergreifende Schlüssel mach dann den Austausch der 
Daten innerhalb der NSA leichter.

von Daniel V. (danvet)


Lesenswert?

Arsch Gwaf schrieb:
> Das liegt daran, dass die NSA ...... den
> Schlüssel "Obama " geeinigt. In ASCII ist das:
> "O" = 0x4F = 79
> "b" = 0x62 = 98
> "a" = 0x61 = 97
> "m" = 0x6D = 109
> "a" = 0x61 = 97
> " " = 0x20 = 32
>
> 79+98+97+109+97+32=512
>
> Damit es nicht so leicht zu entschlüsseln ist wird das ganze jetzt noch
> um eine Bit geshiftet. Das enspricht Multiplikation mit 2. Also 512*2 =
> 1024.

YMMD :-)

von Sven L. (sven_rvbg)


Lesenswert?

Ich glaube er will eine dezimal abgepeicherte IP in Octette zerlegen...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Sven L. schrieb:
> Ich glaube er will eine dezimal abgepeicherte IP in Octette zerlegen...
                          ^^^^^^^

top schrieb:
> Die Daten liegen in Hex vor. Immer 4Byte ergeben einen Wert.
                      ^^^

Vielleicht sind sie aber auch oktal in den 4 Byte gespeichert, wer weiß? 
;-)

: Bearbeitet durch Moderator
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.