Avatar billede kunze Nybegynder
02. november 2002 - 22:54 Der er 8 kommentarer og
1 løsning

Excel - Binære Talsystem

Hej.

Se: http://kunze.dk/binary.xls (Vælg "Gem som...")

Er der nogen der har godt styr på Excel der lige kan lave et tilsvarende regneark der omregner f.eks. 832 til 01101000000 ?

Det skal bare være den omvendte process. :)
Se evt. http://www.howstuffworks.com/bytes.htm
Der er en god forklaring af det binære talsystem.


Mvh
Kunze
02. november 2002 - 23:07 #1
Prøv at se på nogle af disse links - specielt det første - der kan søges på siden.
Avatar billede perj Nybegynder
02. november 2002 - 23:16 #2
Hvorfor ikke bare bruge Windows egen "lommeregner"?.
Avatar billede katborg Praktikant
02. november 2002 - 23:16 #3
Standard formel i Excel - Beskrivelsen er fra "Hjælp til denne funktion"

BIN.TIL.DEC(tal)

Konverterer et binært tal til et decimaltal.

Hvis funktionen ikke er tilgængelig og returnerer fejlen #NAVN?, skal du installere og indlæse tilføjelsesprogrammet Analysis ToolPak.

Syntaks

BIN.TIL.DEC(tal)

Tal er  det binære tal, der skal konverteres. Tal kan ikke indeholde mere end 10 tegn (10 bits) Den mest betydningsfulde bit er fortegnsbitten. De resterende 9 bit er størrelsesbit. Negative tal repræsenteres ved brug af to's komplementnotation.

Bemærk!

Hvis tal ikke er et gyldigt binært tal, eller hvis tal indeholder mere end 10 tegn (10 bit), returnerer BIN.TIL.DEC fejlværdien #NUM


Men '01101000000' bliver omregnet til -192 ???
Avatar billede soreno Praktikant
02. november 2002 - 23:28 #4
fra bin til dec:

01101000000 er lig med 832 dec
start bagfra og sig
2^0 * 0 = 0
2^1 * 0 = 0
2^2 * 0 = 0
2^3 * 0 = 0
2^4 * 0 = 0
2^5 * 0 = 0
2^6 * 1 = 64
2^7 * 0 = 0
2^8 * 1 = 256
2^9 * 1 = 512
summen af multiplikationerne er 832
Avatar billede katborg Praktikant
02. november 2002 - 23:43 #5
Jeg tvivler ikke på at i har ret :-)

Jeg undrer mig over at formlen ikke virker som den burde ???

Der er ved '2^9 * 1', at det går galt, det bliver nemlig udregnet til  '-512' (negativt tal ??)
Avatar billede katborg Praktikant
02. november 2002 - 23:46 #6
Formlen virker tilsyneladende med op til 9 cifre, ved det 10. bliver det  -512 istedet for 512, ved 11 cifre bliver resultat #NUM
Avatar billede perj Nybegynder
02. november 2002 - 23:52 #7
Bemærk!

Hvis tal < -512, eller hvis tal > 511, returnerer DEC.TIL.BIN fejlværdien #NUM!.
Hvis tal er ikke-numerisk, returnerer DEC.TIL.BIN fejlværdien #VÆRDI!.
Avatar billede soreno Praktikant
02. november 2002 - 23:54 #8
katborg>> du får jo svaret på dit tvivl her:
Tal kan ikke indeholde mere end 10 tegn (10 bits) Den mest betydningsfulde bit er fortegnsbitten. De resterende 9 bit er størrelsesbit. Negative tal repræsenteres ved brug af to's komplementnotation.

01101000000 er med 2 komplement:

1)
vend bits'ene om
10010111111

2)
add 1
10011000000

3)
hvis den mest betydende bit er 1 (det er den)
så er tallet negativt, og kan beregnes som ovenstående til:
2^0 * 0 = 0
2^1 * 0 = 0
2^2 * 0 = 0
2^3 * 0 = 0
2^4 * 0 = 0
2^5 * 0 = 0
2^6 * 1 = 64
2^7 * 1 = 128
2^8 * 0 = 0
2^9 * 0 =
ialt 192

4)
tallet er negativt:
altså er resultatet -192
Avatar billede kunze Nybegynder
25. november 2002 - 17:56 #9
Lukker.
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
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

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