Anda di halaman 1dari 13

SISTEMAS DE NUMERACIN Introduccin Cuando los hombres empezaron a contar usaron los dedos, marcas en bastones, nudos en una

cuerda y algunas otras formas para ir pasando de un nmero al siguiente. A medida que la cantidad crece se hace necesario un sistema de representacin ms prctico. Los nmeros nacen de la necesidad del hombre por contar y es bastante antigua la idea del conjunto de los enteros positivos. Sistemas de numeracin Un sistema de numeracin es un conjunto de smbolos y reglas que permiten representar datos numricos de forma nica. En los sistemas de numeracin existe un elemento caracterstico que define el sistema y se denomina base, siendo sta el nmero de smbolos que se utilizan para la representacin. Todos los sistemas usados actualmente usan una base n. En un sistema de numeracin de base n existen n smbolos. Sistema de numeracin aditivo Los sistemas aditivos son aquellos que acumulan los smbolos de todas las unidades, decenas... como sean necesarios hasta completar el nmero. Una de sus caractersticas es por tanto que se pueden poner los smbolos en cualquier orden, aunque en general se ha preferido una determinada disposicin. Han sido de este tipo las numeraciones egipcia, sumeria (de base 60), hitita, cretense, azteca (de base 20), romana y las alfabticas de los griegos, armenios, judos y rabes. Ejemplo: los egipcios utilizaban smbolos para representar cantidades y algunos de ellos son | = 1, = 10, ? = 100; utilizando stos, la representacin de 134 es la siguiente: 134 = ? | | | | Sistemas de Numeracin Posicionales El sistema posicional es mucho ms efectivo que el sistema aditivo. La norma principal es que un mismo smbolo tiene distinto valor segn la posicin que ocupe. En ellos la posicin de una cifra nos dice si son decenas, centenas, etc., o en general la potencia de la base correspondiente. Slo tres culturas adems de la india lograron desarrollar un sistema de este tipo. Babilonios, chinos y mayas en distintas pocas llegaron al mismo principio. Ejemplo: en el sistema numrico maya, se estableci un smbolo para representar el nmero cero, necesario para el buen funcionamiento de todo sistema posicional, con lo cual la cultura maya hizo una aportacin valiosa a la ciencia. Este sistema tiene base 20, y los 20 smbolos distintos correspondientes se obtienen a partir de la combinacin de los que se consideran los tres smbolos bsicos para la representacin de cantidades. Los siguientes son algunos de los smbolos de este sistema:

Aunque parece un sistema numrico aditivo, ya que se suman las rayas y los puntos para obtener los diferentes smbolos utilizados, sin embargo a partir del 20 se utilizan los diferentes smbolos considerando la posicin que ocupan, de forma que al multiplicar el smbolo por potencias de 20 (segn su posicin) y sumar los resultados parciales se obtiene la cantidad a representar. Se puede notar que para representar cantidades se coloca un smbolo encima del otro, asignando respectivamente a la base el exponente 0 para el que est en la parte ms baja, al que le sigue hacia arriba el exponente 1 y as sucesivamente. Como se muestra a continuacin, el nmero que corresponde con la representacin es el que se obtiene luego de sumar el valor de los smbolos utilizados:

Como se ve en esta representacin, la posicin del smbolo utilizado juega un papel importante. Actualmente los sistemas para la representacin de cantidades son posicionales, ya que stos tienen muchas ventajas en relacin con los aditivos Ejemplos de sistemas posicionales son los sistemas numricos decimal, binario, octal y hexadecimal. Una caracterstica de los sistemas posicionales es que el valor del smbolo lo determina la posicin que ocupa y la base del sistema.

Conversiones Numricas Para poder manejar los nmeros en la computadora es necesario entender cmo se convierta de una base a otra. Se presenta un resumen para conversiones entre base diez y los sistemas que utiliza la computadora, y viceversa conversiones entre sistemas binario, octal y base 16 con la base 10.

Sistema de numeracin decimal y los sistemas de numeracin binario, Octal y hexadecimal y su conversin al sistema decimal. El sistema de numeracin que utilizamos habitualmente es el decimal, que se compone de diez smbolos o dgitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9) a los que otorga un valor dependiendo de la posicin que ocupen en la cifra: unidades, decenas, centenas, millares, etc. El valor de cada dgito est asociado al de una potencia de base 10,

nmero que coincide con la cantidad de smbolos o dgitos del sistema decimal, y un exponente igual a la posicin que ocupa el dgito menos uno, contando desde la derecha. En este sistema el nmero 528, por ejemplo, significa: 5 centenas + 2 decenas + 8 unidades, es decir: 500 + 20 + 8 o, lo que es lo mismo usando exponentes: 5102+2101+8100=528. En el caso de nmeros con decimales, la situacin es anloga aunque, en este caso, algunos exponentes de las potencias sern negativos, concretamente el de los dgitos colocados a la derecha del separador decimal. Por ejemplo, el nmero 8245,97 se calculara como: 8 millares + 2 centenas + 4 decenas + 5 unidades + 9 dcimos + 7 cntimos, o lo que es lo mismo: 8245,97=8X1000+2x100+4x10+5x1+9/10+7/100 8245,97=8000 + 200 + 40 + 5 + 0,9 + 0,07 = 8245,97 Usando exponentes esto se puede representar como: 8245,97=8103+2102+4101+5100+9101+7102 A esta forma de representacin se le llama representacin exponencial. Representacin exponencial La representacin exponencial es importante porque por medio de ella se puede convertir una cantidad representada en cualquier sistema numrico al sistema decimal. El valor de la posicin lo determina el exponente en una sucesin ascendente de derecha a izquierda para los enteros a partir del punto decimal (el 5 se encuentra en la posicin 0, el 4 en la posicin 1, el 2 en la posicin 2 y el 8 en la posicin 3), y de izquierda a derecha para la parte fraccionaria (el 9 est en la posicin -1 y el 7 en la posicin -2), usando como base el nmero 10, debido a que se est en el sistema decimal. Sistema de numeracin binario El sistema de numeracin binario utiliza slo dos dgitos, el cero (0) y el uno (1), que tienen distinto valor dependiendo de la posicin que ocupen. El valor de cada posicin es el de una potencia de base 2, elevada a un exponente igual a la posicin del dgito menos uno. Se puede observar que, tal y como ocurra con el sistema decimal, la base de la potencia coincide con la cantidad de dgitos utilizados (2) para representar los nmeros. Como se mencion, la representacin exponencial se utiliza para convertir una cantidad de un sistema numrico cualquiera al sistema decimal. A continuacin se muestra la forma de hacer esto. Ejemplo 1. Convertir el nmero binario 1011 a decimal. De acuerdo con las reglas, el nmero binario tiene un valor que se calcula as: 123+022+121+120=8+0+2+1=11 y lo escribimos as: 10112=1110

Ejemplo 2. Convertir el nmero binario 10011.01 a decimal. Solucin. Expresando el nmero propuesto en notacin exponencial y realizando las operaciones correspondientes, se obtiene lo siguiente: 10011.012 = 1 24 + 0 23 + 0 22 + 1 21 + 1 20 + 0 2-1 + 1 2-2 = 16 + 0 + 0 + 2 + 1 + 0 + 0.25 = =19.2510 Sistema Octal: En el sistema octal, los nmeros se representan mediante ocho dgitos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7. Cada dgito tiene, naturalmente, un valor distinto dependiendo del lugar que ocupen. El valor de cada una de las posiciones viene determinado por las potencias de base 8. Ejemplo. Convertir 631.5328 a decimal. Solucin. Como se mencion, para convertir primero realizamos la representacin en notacin exponencial y se realizan las operaciones. En este caso se tiene: 631.5328 = 6 82 + 3 81 + 1 80 + 5 8-1 + 3 8-2 + 2 8-3 = 409.675810 Sistema Hexadecimal: Sin embargo el sistema de numeracin ms utilizado es el hexadecimal. En este sistema, los nmeros se representan con diecisis smbolos: 0, 1, 2, 3, 4, 5, 6,7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F representando las cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dgitos mayores que 9 en el sistema decimal. El valor de cada uno de estos smbolos depende, de su posicin, que se calcula mediante potencias de base 16. Ejemplo: Convertir a E8A7.3D16 a decimal. Solucin. E8A7.3D16 = 14 163 + 8 162 + 10 161 + 7 160 + 3 16-1 + 13 16-2 = 59559.238310 Conversiones de Decimal a binario, octal y hexadecimal

Conversin de decimal a binario Para convertir de base 10 a binario el algoritmo resulta muy sencillo, se divide entre 2 y se anota el cociente bajo el nmero y el residuo a la derecha, se aplica iterativamente este procedimiento hasta llegar a 0 y al final el resultado es la cadena de bits de abajo hacia arriba.

Ejemplo 1: Convertir a binario 49 49 24 12 6 3 1 0 Por lo tanto 49= 1100012 1 0 0 0 1 1

Ejemplo 2. Convertir 123 a binario: 123 1 61 1 30 0 15 1 7 3 1 0 Por lo tanto 123= 11110112 1 1 1

La cantidad de dgitos necesarios, para representar un nmero en el sistema binario, depender del valor de dicho nmero en el sistema decimal. En el caso anterior, para representar el nmero 77 han hecho falta siete dgitos. Para representar nmeros superiores harn falta ms dgitos. Por ejemplo, para representar nmeros mayores de 255 se necesitarn ms de ocho dgitos, porque 28=256 y, por tanto, 255 es el nmero ms grande que puede representarse con ocho dgitos. Es importante distinguir entre los nmeros que pueden representarse con n dgitos binarios, que es 2n, y el mayor de esos nmeros, que es una unidad menos, es decir, 2n 1.

Conversin de Cantidades con dgitos decimales


Si se desea convertir una cantidad que tiene una parte entera y otra fraccionaria de base diez a base dos, la parte entera se divide sucesivamente entre 2 y los restos resultantes se toman en orden contrario a como se encontraron. La parte fraccionaria se multiplica por 2 y el entero del resultado conforma la parte fraccionaria en el orden en que fueron encontrados. Este procedimiento se ilustra en el siguiente ejemplo Ejemplo. Convertir el nmero 28.3710 a binario. Solucin. Parte entera: Resto 28 / 2 = 14 0 14 / 2 = 7 0 Los restos se toman en orden 7/2=3 1 inverso a como fueron encontrados. 3/2=1 1 1/2=0 1 Entero 0.37 2 = 0.74 0 0.74 2 = 1.48 1 Los enteros se toman en el mismo 0.48 2 = 0.96 0 orden en que fueron encontrados 0.96 2 = 1.92 1 0.92 2 = 1.84 Se podra seguir aproximando para determinar ms dgitos en la parte fraccionaria y obtener as un resultado ms exacto, sin embargo para ilustrar el procedimiento es

suficiente con cuatro dgitos despus del punto que separa a la parte entera de la parte fraccionaria. De esta forma, el resultado es: 28.3710 = 11100.01012

Conversin de Decimal a octal Para convertir de decimal a octal seguimos el procedimiento anterior con la diferencia de que las divisiones de realizaran entre 8, y las multiplicaciones por 8. Ejemplo: Convertir 6950746.101510 a octal Solucin: Parte entera 6950746/8 = 868843 868843/8 = 108605 108605/8 = 13575 13575/8 = 1696 1696/8 = 212 212/8 = 26 26/8 = 3 3/8 = 0

Resto Parte fraccionaria Entero 2 3 0.1015 8 = 0.8120 0 5 0.8120 8 = 0.4960 3 7 0.4960 8 = 0.9680 3 0 0.9680 8 = 0.7440 7 4 2 3

6950746.101510 = 32407532.03378 Conversin de Decimal a Hexadecimal Para convertir de decimal a hexadecimal seguimos el procedimiento anterior con la diferencia de que las divisiones de realizaran entre 16, y las multiplicaciones por 16. Ejemplo: Convertir 59559.23810 a Hexadecimal

Parte entera 59559/16 = 3722 3722/16 = 232 232/16 = 14 14/16 =0

Resto 7 10 8 14

Parte fraccionaria 0.238 16 =0.808 0.808 16 = 0.928 0.928 16 = 0.848 0.848 16 = 0.568

Entero 3 12 14 13

59559.5010= E8A7.8 16 Generalizacin de las conversiones Una cantidades expresadas en cualquier sistema numrico pueden ser convertidas a otro sistema existente o no, de tal forma que se puede establecer que para pasar de un

sistema X cualquiera a decimal se representa en notacin exponencial, y para pasar de decimal a un sistema W cualquiera se divide la parte entera entre la base a la que se desea convertir y la parte fraccionaria se multiplica por la base en cuestin, como se muestra en el diagrama de la figura siguiente.

Conversiones con tablas de equivalencias La conversin de octal a binario y de binario a octal es relativamente fcil si se utiliza la siguiente tabla de equivalencias*:
Octal Binario 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111

*Se puede apreciar que se utilizan tres dgitos en binario, para cada nmero en octal, debido a que la cantidad mayor vlida en el sistema octal es el nmero 7, que ocupa tres bits, por lo tanto, todos debern usar la misma cantidad de bits.

Ejemplo. Convertir 631.5328 a binario usando la tabla de equivalencias anterior. Solucin. En la siguiente tabla se presenta la conversin pedida: 6 3 1 . 5 3 28 110 011 001 . 101 011 0102 Como se puede observar en el ejemplo, usando la tabla de equivalencias el resultado es igual al obtenido al aplicar el mtodo general, sin embargo se debe mencionar que cuando se usa el mtodo general algunas veces existen diferencias en los resultados, ya que al convertir la cantidad de octal a decimal y posteriormente a binario se pierde exactitud por el redondeo y tambin debido a que se acord anteriormente encontrar solamente los primeros cuatro dgitos en la parte fraccionaria. A pesar de esto, si existiera alguna diferencia sta se presentara en la parte fraccionaria y no en la parte entera.

De igual manera que en la conversin de binario a octal, se puede obtener la siguiente tabla de equivalencias de binario a hexadecimal*:
Hexadecimal Binario 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

*Nuevamente el nmero mayor del sistema numrico es el que manda en relacin con cuntos bits se debern usar para representar cada uno de los caracteres. En este caso F = 15 es el smbolo mayor y ocupa cuatro bits, por lo tanto todos los smbolos debern representarse por cuatro bits.

Ejemplo 1.7. Convertir E8A7.3D(16) a octal usando tablas de equivalencias. Solucin. A diferencia del mtodo general, en el que el sistema intermedio es el sistema decimal, cuando se utilizan tablas de equivalencias el sistema intermedio es el binario, por lo que primero se pasa la cantidad al sistema binario poniendo los cuatro bits correspondientes a cada uno de los caracteres del sistema hexadecimal: E 8 A 7 . 3 D16 1110 1000 1010 0111 . 0011 11012 A continuacin se pasa de binario a octal, agrupando la informacin en bloques de tres bits, ya que la tabla de equivalencia octal-binario utiliza solamente tres bits para cada uno de los caracteres. En caso de no completarse los bloques de tres bits, se debern agregar los ceros necesarios en los extremos: 001 110 100 010 100 111 . 001 111 0102 1 6 4 2 4 7 . 1 7 28 Como se puede observar, el resultado es semejante al obtenido utilizando el mtodo general y la variacin, en caso de existir, sera muy pequea muy pequea.

Conversin de nmeros binarios a octales Para realizar la conversin de binario a octal, realice lo siguiente: 1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dgitos, entonces agregue ceros a la izquierda. 2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Nmero en binario 000 001 010 011 100 101 110 111 Nmero en octal 0 1 2 3 4 5 6 7

3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.


Ejemplos

110111 (binario) = 67 (octal). Proceso:

111 = 7 y 110 = 6 Agrupe de izquierda a derecha: 67 11001111 (binario) = 317 (octal). Proceso: 111 = 7 y 001 = 1 11 entonces agregue un cero, con lo que se obtiene 011 = 3 Agrupe de izquierda a derecha: 317 1000011 (binario) = 103 (octal). Proceso: 011 = 3 , 000 = 0 y 1 entonces agregue 001 = 1 Agrupe de izquierda a derecha: 103 1010010112 = 5138 Conversin de Binario a hexadecimal Anlogamente, la conversin entre nmeros hexadecimales y binarios se realiza "expandiendo" o "contrayendo" cada dgito hexadecimal a cuatro dgitos binarios. Para realizar la conversin de binario a hexadecimal, realice lo siguiente: 1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dgitos, entonces agregue ceros a la izquierda. 2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
Nmero en 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 binario Nmero en hexadecimal

3) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda.


Ejemplos 110111010 (binario) = 1BA (hexadecimal). Proceso:

1010 = A , 1011 = B y 1 entonces agregue 0001 = 1 Agrupe de derecha a izquierda: 1BA

11011110101 (binario) = 6F5 (hexadecimal). Proceso:

0101 = 5 , 1111 = F y 110 entonces agregue 0110 = 6 Agrupe de derecha a izquierda: 6F5 Ejercicios: 1010011100112 = A7316 1F616 = 0001111101102 1011102 = 001011102 = 2E16

ARITMTICA BINARIA La Unidad Aritmtico Lgica, en la CPU del procesador, es capaz de realizar operaciones aritmticas, con datos numricos expresados en el sistema binario. Naturalmente, esas operaciones incluyen la adicin, la sustraccin, el producto y la divisin. Las operaciones se hacen del mismo modo que en el sistema decimal, pero debido a la sencillez del sistema de numeracin, pueden hacerse algunas simplificaciones que facilitan mucho la realizacin de las operaciones. SUMA EN BINARIO La tabla de sumar, en binario, es mucho ms sencilla que en decimal. Slo hay que recordar cuatro combinaciones posibles. Las sumas 0+0, 0+1 y 1+0 son evidentes: 0+0=0 0+1=1 1+0=1 Pero la suma de 1+1, que sabemos que es 2, debe escribirse en binario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra una unidad, que se suma a la posicin siguiente a la izquierda. Veamos algunos ejemplos: Por ejemplo, sumemos 100110101 + 11010101:

Operamos como en decimal: comenzamos a sumar desde la izquierda. En el ejemplo 1 + 1 = 10, entonces escribimos 0 y "llevamos" 1. Se suma este 1 a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas las columnas (exactamente como en decimal). Ejemplos de suma de nmeros con el equivalente de esa suma en el sistema decimal:

SUMAR 010 + 101 = 1112 Es decir, convirtiendo en decimal tenemos lo siguiente 210 + 510 = 710 001101 + 100101 = 110010, es decir, 1310 + 3710 = 5010 1011011 + 1011010 = 10110101, es decir, 9110 + 9010 = 18110 110111011 + 100111011 = 1011110110= 44310 + 31510 = 75810

SUSTRACCIN EN BINARIO Restar en binario es, nuevamente, igual que la operacin en el sistema decimal. Recordando: Los trminos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.
Resta en el sistema decimal: 8127 -5 831. 2296 71=6 (2+10) 3= 9 Cuando el sustraendo es mayor que el minuendo, como sucede en esta columna, se deber sumar la base al minuendo y despus lleva a cabo la sustraccin (minuendo +10)-sustraendo=resultado. Como se le sumo la base a la columna anterior, se deber aumentar en 1 el sustraendo y como sustraendo>minuendo, se deber sumar la base al minuendo antes de llevar a cabo la resta. Sumar 1 al sustraendo ya que en la columna anterior se le sumo la base al minuendo, y despus llevar a cabo la resta.

(1+10)-(8+1)=2

8-(5+1) = 2

Ejercicio: Restar en el sistema octal :


Resta en el sistema decimal: 4 1 0 7 28 - 3 6 0 4 38 0 3 0 2 78 (2+8) 3= 7 Cuando el sustraendo es mayor que el minuendo, como sucede en esta columna, se deber sumar la base al minuendo y despus lleva a cabo la sustraccin (minuendo +8)-sustraendo=resultado. Como se le sumo la base a la columna anterior, se deber aumentar en 1 el sustraendo. Sin cambio. Sumar la base al minuendo, ya que sustraendo>minuendo Sumar 1 al sustraendo, ya que se sumo la base al minuendo de la columna anterior

7-(4+1)=2 0-0 = 0 (1+8)-6=3 4-(3+1)=0

En binario Las restas 0-0, 1-0 y 1-1 son evidentes: 00=0 10=1 11=0 La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posicin siguiente: 10-1, es decir, 210 110 = 1. Esa unidad prestada debe devolverse, sumndola, a la posicin siguiente. Veamos algunos ejemplos:
10001 -00010 00111 11011001 -10101011 00101110

En sistema decimal sera: 17 - 2 = 15 y 217 - 171 = 46.

Para simplificar las restas y reducir la posibilidad de cometer errores hay varios mtodos:

Dividir los nmeros largos en grupos. En el siguiente ejemplo, vemos cmo se divide una resta larga en tres restas cortas:
100110011101 -010101110010 010000101011 1001 -0101 0100 1001 -0111 0010 1101 -0010 1011

Utilizando el complemento a dos (C2). La resta de dos nmeros binarios puede obtenerse sumando al minuendo el complemento a dos del sustraendo.
Complemento a dos se obtiene sumando 1 al bit menos significativo del complemento a uno. Complemento a uno se obtiene complementando cada uno de los bits, sin considerar el signo, es decir es el nmero resultante de invertir UNOS y CEROS.

Ejmplos : Si N=101101 su complemento a uno es: C1) N=010010 y su complemento a dos es: C2) N=C1 N+1=010011 Si N=0110110101 El complemento a uno es: C1) N=1001001010 y el complemento a dos es: C2) N=1001001011

Ejemplo

La siguiente resta, 91 - 46 = 45, en binario es:


1011011 -0101110 0101101 el C2 de 0101110 es 1010010 1011011 +1010010 10101101

En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el nmero resultante no puede ser ms largo que el minuendo, el bit sobrante se desprecia. Un ltimo ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el complemento a dos:
11011011 -00010111 11000100 el C2 de 00010111 es 11101001 11011011 +11101001 111000100

Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 11000100 en binario, 196 en decimal.

Utilizando el complemento a uno. La resta de dos nmeros binarios puede obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez sumarle el bit que se desborda.

MULTIPLICACIN BINARIA La multiplicacin en binario es ms fcil que en cualquier otro sistema de numeracin. Como los factores de la multiplicacin slo pueden ser CEROS o UNOS, el producto slo puede ser CERO o UNO. En otras palabras, la tabla de multiplicar es muy fcil de aprender En una computadora, sin embargo, la operacin de multiplicar se realiza mediante sumas repetidas. Eso crea algunos problemas en la programacin porque cada suma de dos UNOS origina un arrastre, que se resuelven contando el nmero de UNOS y de arrastres en cada columna. Si el nmero de UNOS es par, la suma es un CERO y si es impar, un UNO. Luego, para determinar los arrastres a la posicin superior, se cuentan las parejas de UNOS.

Para comprobar que el resultado es correcto, convertimos los factores y el resultado al sistema decimal: 3349 X 13 = 43537 Ejercicio: Haz las siguientes multiplicaciones binarias. Al terminar, compruebe los resultados haciendo las multiplicaciones en el sistema decimal: a)10110101000101 x 1011 b)10100001111011 x 10011

Anda mungkin juga menyukai