C/C++ Bin2Dec pg Bin2Hex

Tags:    c++ delphi

User
Bruger #606 @ 03.12.01 14:40
Hejsa...

Jeg er ved at lave et program som kan omregne Dec2Hex, Dec2Bin, Hex2Dec og Hex2Bin. Jeg kan bare ikke finde ud af at lave fra Bin2Dec og Bin2Hex, så hvis der er nogle der ude som kan hjælpe mig vil jeg blive lykkelig.

Med Venlig Hilsen
[Qrazy]Framebuf (René Lyng)
Http://www.framebuf.zondo.dk -> Mig Hjemmeside
Http://www.friserverplads.dk/Qrazy -> Min Clans Hjemmeside



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
<quote>Hejsa...

Jeg er ved at lave et program som kan omregne Dec2Hex, Dec2Bin, Hex2Dec og Hex2Bin. Jeg kan bare ikke finde ud af at lave fra Bin2Dec og Bin2Hex, så hvis der er nogle der ude som kan hjælpe mig vil jeg blive lykkelig.

Med Venlig Hilsen
[Qrazy]Framebuf (René Lyng)
Http://www.framebuf.zondo.dk -> Mig Hjemmeside
Http://www.friserverplads.dk/Qrazy -> Min Clans Hjemmeside</quote>

Hej René

Ja fra Hex til Bin er jo enkelt da talsystemet er:

Bin Hex Dec
00000000 0 0
00000001 1 1
00000010 2 2
00000011 3 3
00000100 4 4
00000101 5 5
00000110 6 6
00000111 7 7
00001000 8 8
00001001 9 9
00001010 A 10
00001011 B 11
00001100 C 12
00001101 D 13
00001110 E 14
00001111 F 15

Derfor vil 0x55 = 0b01010101 = 85decimal

Binær til hex:

MSB 0(8) 0(4) 0(2) 0(1) 0(8'er) 0(4'er) 0(2'er) 0(1'er) LSB

Tal i parentes er i hex. Hex værdierne summeres blot. Eks. 0b10100001 = 0xA. Her kan så lave en løkke der gennemløber den binær værdi af 4 bit afgangen. Du kikker så på LSB, hvis denne er 1 lægger du 1 til en anden variabel. Hernæst shifter du et bit til venstre og kunne på næste bit af de 4 bit. Hvis denne er 1 lægges 2 til variabel. osv. Dette kunne jo gøres med en while løkke og en switch/case betingelse.

Binær til decimal:
Det binær er jo et 2 tals system.

MSB 0(2^7) 0(2^6) 0(2^5) 0(2^4) 0(2^3) 0(2^2) 0(2^1) 0(2^0)
2 ^ 2 = 2 opløftet i 2
Eks. 0b01101001 =(0 * 128)+(1 * 64)+(1 * 32)+(0 * 16)+ (1 * 8) + (0 * 4) + (0 * 2) + (1 * 1)
= 105 decimal.
Næsten samme fremgangs måde som før kan bruges.

Venlig hilsen
Thomas Vanting




t