TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: Leon Pic en 26 de Noviembre de 2008, 19:04:44

Título: Pasar decimal a binario en excel.
Publicado por: Leon Pic en 26 de Noviembre de 2008, 19:04:44
Buscando por laweb sobre como convertir un valor en decimal a binario, encontré que la fórmula es =DEC.A.BIN(valor decimal; cantidad de dígitos) por ejemplo =DEC.A.BIN( 255; 8 ). La cosa es que me aparece #¿NOMBRE? que me indica que el excel no me reconoce la fórmula.

¿Hay alguna forma de agregar la fórmula esta?
Título: Re: Pasar decimal a binario en exel.
Publicado por: Veguepic en 26 de Noviembre de 2008, 19:24:35
Mas facil es usar la calculadora de Windows, en la opcion ver seleccionas cientifica y puedes convertir de decimal a binario y viceversa.

Saludos
Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 26 de Noviembre de 2008, 19:51:36
Si, eso ya lo se. Pero necesito hacerlo en excel.  :-)
Título: Re: Pasar decimal a binario en exel.
Publicado por: Duende_Azul en 26 de Noviembre de 2008, 19:54:37
El formato esta mal, en lugar de ;  pon un .  y funcionas...  el numero de digitos Hexadecimales es optativo.

Ejem:

=BIN.A.HEX(11111011.4)     escribe   00FB

=BIN.A.HEX(11111011)       escribe FB


Nota.. el ejemplo en la ayuda de Excel esta malo   :lol:  ponen ;
Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 27 de Noviembre de 2008, 09:34:40
Muchas gracias por responder Duende Azul.

La cosa es que sigue sin funcionar. Cuando le pongo el . me da error en la fórmula. Lo escribí tal cual tu último ejemplo y me sigue apareciendo #¿NOMBRE?. Me juego la cabeza que esta fórmula no la tiene mi Office.

Seguí investigando y nada. A todos les reconoce en la ayuda del excel esa función, pero en el mío no está :?. Me imagino que actualizando el excel resolveré el problema, pero como lo tengo trucho, tengo miedo que me lo bloqueen.
Título: Re: Pasar decimal a binario en exel.
Publicado por: El_Guitre en 27 de Noviembre de 2008, 10:32:51
Leon yo tengo el office 2007 y esa funcion me funciona perfecto, pero recuerdo haberla usado cuando tenia el 2003. Se me ocurre que estas formulas "raras" excel no las instala por defecto, lo que podes probar es meter el CD de instalacion y agregar componentes a excel y tildar la opcion de ejecutar todo desde la PC asi se te instalan todas las opciones y herramientas del programa. No estoy seguro pero voy a chequear si esta funcion venia con el excel 2003
Título: Re: Pasar decimal a binario en exel.
Publicado por: El_Guitre en 27 de Noviembre de 2008, 10:40:43
Ya esta la solucion, anda al menu herramientas->Complementos y ahi tilda las opciones Herramientas de Analisis y Herramientas de Analisis VBA. Despues que hagas eso te van a aparecer las formulas que antes no veias, solo que en 2003 se llama distinto dec2bin() bin2ex() etc. Saludos
Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 27 de Noviembre de 2008, 10:56:21
Muchas gracias Guitre, funciona.  :-/ :-/ :-/
Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 27 de Noviembre de 2008, 11:24:02
Ahora con otro problema.

Hasta 511, funciona muy bien y cuando es 512 no, me tira #¡NUM! que se refiere a un número ingresado en forma incorrecta, para mi caso, sería que 512 no es número decimal  :shock:

Esta fórmula, ¿solo convierte hasta 511?  :(

Le pongo con cantidad de caracteres o sin el y me dá el mismo error.

EDITO: el error ya se porque es. Cuando hise a la inversa, pasar de binario a decimal y le puse 111111111 me dió 511, pero cuando puse 1000000000 me dió -512, o sea, que cuando yo quiero pasar de 512 en adelante, me lo toma como negativo y por eso me da error #¡NUM!

Esto me lo toma así por el complemento, ¿como puedo resolver este error?

Título: Re: Pasar decimal a binario en exel.
Publicado por: jfh900 en 27 de Noviembre de 2008, 11:34:19
Efectivamente solo admite 10 bits. Está en la ayuda.

Un saludo
Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 27 de Noviembre de 2008, 11:57:12
La ayuda me aparece en blanco  :x :x :x :x :x

(http://img122.imageshack.us/img122/644/ayudaexcelug9.th.jpg) (http://img122.imageshack.us/my.php?image=ayudaexcelug9.jpg)
Título: Re: Pasar decimal a binario en exel.
Publicado por: El_Guitre en 27 de Noviembre de 2008, 12:17:26
Leon, hasta que valores pueden tomar tus numeros decimales? Se me ocurre que lo que podes hacer es que si es mayor a 512 le reste 512 y convierta a binario el resto y despues le sumas en binario los 512 convertidos, me explico?


Esta es la ayuda de la funcion
DEC.A.BIN(número;caracteres)

Número   es el número entero decimal que se desea convertir. Si el número es negativo, los valores de los caracteres se pasan por alto y DEC.A.BIN devuelve un número binario de 10 caracteres (10 bits) donde el bit más significativo es el bit de signo. Los 9 bits restantes son bits de magnitud. Los números negativos se representan usando la notación complementaria de 2.

Caracteres   es el número de caracteres que se va a utilizar. Si el argumento caracteres se omite, DEC.A.BIN usa el mínimo número de caracteres requerido. El argumento caracteres es útil para completar el valor devuelto con ceros (0) a la derecha.

Observaciones

Si el argumento número < -512 o si número > 511, DEC.A.BIN devuelve el valor de error #¡NUM!
Si el argumento número es un valor no numérico, DEC.A.BIN devuelve el valor de error #¡VALOR!
Si DEC.A.BIN requiere más caracteres para el argumento caracteres, devuelve el valor de error #¡NUM!
Si el argumento caracteres no es un número entero, se trunca.
Si el argumento caracteres es un valor no numérico, DEC.A.BIN devuelve el valor de error #¡VALOR!
Si el argumento caracteres es cero o un número negativo, DEC.A.BIN devuelve el valor de error #¡NUM!


Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 27 de Noviembre de 2008, 12:37:00
Quiero hacer todo hasta 10bit y claro, por lo que tu dices, el bit 9 es el signo, del 8 al 0, el valor.

Por lo que te entendí tendría que hacer esto =(dec2bin(valor a convertir-512;10)+(dec2bin(512;10))) SI es así, no me funcionó y estoy intentando de varias fómas y tampoco me funciona, como por ejemplo =(dec2bin(valor a convertir;10))-(dec2bin(512;10))+(dec2bin(512;10))

Gracias a los pasos que me indicaste anteioromente, ahora funciona la fórmula dec.a.bin()
Título: Re: Pasar decimal a binario en exel.
Publicado por: El_Guitre en 27 de Noviembre de 2008, 13:19:28
Yo me referia a esto
Suponiendo que en E7 esta el dato: =SI(E7>511;DEC.A.BIN(E7-511)+DEC.A.BIN(511);DEC.A.BIN(E7;10))
El problema es que la suma no la hace como binario entonces da cualquier cosa (aparecen varios 2) y por lo que vi no esta la formula para sumar binarios asi que se me quemaron los papeles  :(
Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 27 de Noviembre de 2008, 13:32:37
Esa fue otra forma que intenté pero me equivoqué y utilizé 512  :? pero tampoco funciona. Al principio estaba intentando de hacerlo sin la función Si para ver si funcionaba, pero no.

Veo que no tiene solución, solo llega hasta 512.
Título: Re: Pasar decimal a binario en exel.
Publicado por: El_Guitre en 27 de Noviembre de 2008, 13:57:20
Si es por los benditos 10 bits, vas a tener que usar el ADC en 8 bits.
Título: Re: Pasar decimal a binario en exel.
Publicado por: Leon Pic en 27 de Noviembre de 2008, 15:59:32
 :? :? :? :? :? :? :? :x :x :x :x :x
Título: Re: Pasar decimal a binario en exel.
Publicado por: BrunoF en 27 de Noviembre de 2008, 16:05:46
Hola!

No me gusta Excel realmente, pero bueno...libre albedrío, eh? :) :)

Se me ocurrió hacerlo así(hay muchas formas de hacerlo) y parece que funciona...

=SI(C4>511;CONCATENAR(1;DEC.A.BIN(C4-512;9));CONCATENAR(0;DEC.A.BIN(C4;9)))

Saludos.
Título: Re: Pasar decimal a binario en exel.
Publicado por: Nocturno en 28 de Noviembre de 2008, 04:21:43
Usando esto tienes 18 bits  :D

=DEC.A.BIN(C3/512;9) & DEC.A.BIN(RESIDUO(C3;512);9)
Título: Re: Pasar decimal a binario en exel.
Publicado por: fuente en 28 de Noviembre de 2008, 06:21:55
Si grabas una macro en visual basic con el siguiente código:

Function d2b(numero As Integer) As String
While numero >= 2
    d2b = CStr(numero Mod 2) & d2b
    numero = numero \ 2
Wend
d2b = CStr(numero Mod 2) & d2b
End Function

puedes convertir valores mayores. Si ademas cambias el integer por un long, aumentarás todavía más el rango.
Luego llamas a la macro como si de una función más se tratara, es decir, en una celda cualquiera la llamrías poniendo
=d2b(F5)
Esto te convertirá el valor que haya en F5 a binario.

Ojo a la línea "numero = numero \ 2" con el sentido de la barra. Es una división entera.

Esto te permite crear tus propias funciones y es muy util.
Título: Re: Pasar decimal a binario en excel.
Publicado por: Leon Pic en 28 de Noviembre de 2008, 11:17:26
wow  :-/ :-/ :-/ muchas gracias. Funcionan de maravilla.
Título: Re: Pasar decimal a binario en excel.
Publicado por: c4_esp_VR en 11 de Enero de 2012, 05:03:28
Hola compañeros,

Sé que este hilo está cerrado, pero creo que es el sitio más adecuado para ponerlo.

He estado buscando como hacer operaciones Bitwise en Excel y he encontrado esto...

Bitwise Excel (http://www.edn.com/article/talkback/470748-Perform_bitwise_operation_in_Excel_spreadsheets.php#152660)

Por si el día de mañana borran en enlace, subo los ficheros al foro  :D

Espero que les sirva, funciona muy bien.

Un saludete.
Título: Re: Pasar decimal a binario en excel.
Publicado por: Nocturno en 11 de Enero de 2012, 05:34:28
Lo he intentado ejecutar pero no me deja, ¿cómo se usa?
Título: Re: Pasar decimal a binario en excel.
Publicado por: c4_esp_VR en 11 de Enero de 2012, 06:06:53
Citar
Lo he intentado ejecutar pero no me deja, ¿cómo se usa?

Simplemente abre un excel y en una casilla pon,

=BitAND(254;3)

Luego arrastra el fichero "4282 add ins.xla" al excel y ya.

Lo malo es que únicamente funciona con datos decimales de 8 bits...pero menos da una piedra  :P

Un saludete.
Título: Re: Pasar decimal a binario en excel.
Publicado por: Nocturno en 11 de Enero de 2012, 06:35:42
Ok, gracias