Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

20.08.2005, 10:15

Dual/bin

Kann man in c++ auch direkt Dual/Bin Zahlen eingeben
und wie funktioniert das mit den Farben über DWORD

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

20.08.2005, 10:42

Nein, leider kann man in C++ binäre Zahlen nicht direkt schreiben, wie man das durch 0x mit Hexadezimalzahlen kann. Du könntest Dir allerdings eine Funktion basteln, die einen String aus Einsen und Nullen annimmt und dann daraus eine Zahl zusammensetzt.

Farben: das erste Byte (d.h. die ersten beiden Hex-Ziffern) bestimmen normalerweise den Rot-Anteil der Farbe (wobei 0x00 das Niedrigste ist und 0xFF das Höchste), danach kommt der Grün-Anteil und schließlich der Blau-Anteil.

0xFF0000 = pures Rot
0x00FF00 = pures Grün
0x0000FF = pures Blau
0xFFFFFF = Weiß
0x000000 = Schwarz
0x800000 = dunkleres Rot
0xFFFF00 = Gelb
0xFF8000 = Orange
usw.

Natürlich kann man nicht nur 0x00, 0x80 und 0xFF benutzen.
0x80 ist nur genau die Mitte zwischen 0x00 und 0xFF...

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

3

20.08.2005, 10:44

Nein:
z.B.:

C-/C++-Quelltext

1
int i = b110101001010011...00;

geht nicht.

Zu den Farben:
1 Byte (MSB) wird nicht verwendet
2 Byte ist der Wert für Blau
3 Byte ist der Wert für Grün
4 Byte ist der Wert für Rot

z.B.: DWORD rot = 0x000000FF;

siehe dazu auch :
http://msdn.microsoft.com/library/defaul…colors_9xiq.asp

mfg Philipp

Anonymous

unregistriert

4

20.08.2005, 11:33

habt ihr eine Ahnung ob das bei der naechsten versiion von Microsoft visuall ++, soetwas geben wuerde, denn damit koennte man ja auch erheblich mehr machen

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

5

20.08.2005, 11:43

höchstwarhscheinlich nein

Zitat von »"fast123"«

habt ihr eine Ahnung ob das bei der naechsten versiion von Microsoft visuall ++, soetwas geben wuerde, denn damit koennte man ja auch erheblich mehr machen


du kannst dann genau das gleiche machen wie jetzt, nur auf eine andere Art und Weise

mfg Philipp

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

20.08.2005, 11:48

itoa kann in dual konvertieren...aber leider ist es dann ein string...
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

7

20.08.2005, 11:58

Zitat von »"Nox"«

itoa kann in dual konvertieren...aber leider ist es dann ein string...


was würdest du bei der "Konvertierung" von einer Dezimalzahl in eine Binäre Zahl erwarten?
(wobei ich sagen muss, dass nicht die Zahl konvertiert wird, sondern lediglich ihre Darstellungsform)

mfg Philipp

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

21.08.2005, 22:04

Zitat von »"Phil_GDM"«


1 Byte (MSB) wird nicht verwendet


stimmt für X8R8G8B8

kleine ergänzung:

z.b. bei A8R8G8B8 is im MSB ist der alphawert drin...

9

22.08.2005, 01:04

Zitat

z.B.: DWORD rot = 0x000000FF;

vorsicht, das hängt stark von der anwendung ab.
als colorref schon aber
unter d3d ist 0x00ff0000 rot

Werbeanzeige