You are on page 1of 34

IntroduccinalaProgramacin

11O
HumbertoCervantesMaceda
Recordando
Enlasesinanteriorvimosquelainformacin

almacenadaenlamemoria,yporlotanto

aquellaqueprocesalaunidadcentralde

procesamientoestalmacenadacomounosy

ceros
100100011101101010010011001
Microprocesador
Memoria
Disco duro
Bits
Losunosycerosseconocencomobits

(digitosbinarios)
Patronesdebitssonusadospararepresentar

valoresnumricosascomootrossmbolostales

comocaracteresysignos,obienimgenesy

sonidos
Elsistemabinarioesunsistemade

numeracinenbase2
Operacionesbooleanas
Esconvenienteconsideraralbit

0comouna
representacindefalso

yalbit

1comouna
representacinde

verdadero
Lasoperacionesquemanipulanvaloresdeverdadero
yfalsosonllamadasoperacionesbooleanas
EnhonoraGeorge

Boole

(1815

1864),pionerodela

lgica
Tresoperacionesbooleanas

bsicasson:Y(AND),O
(OR),Oexclusivo(XOR)yNO
OperacinY
Laoperacinbooleana

Y(&&)estadiseadaparareflejarsi

unasentenciacompuestaporotrasdossentenciasms

simplesesverdaderaofalsa
PYQ,dondePyQsonsentencias
Ej.
LaUAMesunauniversidadYLaUAMestenlaciudaddeMxico
PYQesverdaderosiyslosiPesverdaderoyQes

verdadero
0Y0?
0Y1?
1Y0?
1Y1?
OperacinY
Laoperacinbooleana

Y(&&)estadiseadaparareflejarsi

unasentenciacompuestaporotrasdossentenciasms

simplesesverdaderaofalsa
PYQ,dondePyQsonsentencias
Ej.
LaUAMesunauniversidadYLaUAMestenlaciudaddeMxico
PYQesverdaderosiyslosiPesverdaderoyQes

verdadero
0Y00
0Y10
1Y00
1Y11
OperacinO
Laoperacinbooleana

O(||)demanerasimilarest
basadaensentenciascompuestasdelaforma
P

OQ
Ej.
HoyesMartesOHoyesViernes
POQesverdaderosialmenosunadelassentencias
esverdadera
0O0?
0O1?
1O0?
1O1?
OperacinO
Laoperacinbooleana

O(||)demanerasimilarest
basadaensentenciascompuestasdelaforma
P

OQ
Ej.
HoyesMartesOHoyesViernes
POQesverdaderosialmenosunadelassentencias
esverdadera
0O00
0O11
1O01
1O11
OperacinOexclusivo
Laoperacinbooleana

Oexclusivopermiteexpresar
sentenciasdeltipoYaseaPverdaderooQ
verdaderoperonoambas
P

XORQ
PXORQesverdaderosiPverdaderooQverdadero
peronoambas
0XOR0?
0XOR1?
1XOR0?
1XOR1?
OperacinOexclusivo
Laoperacinbooleana

Oexclusivopermiteexpresar
sentenciasdeltipoYaseaPverdaderooQ
verdaderoperonoambas
P

XORQ
PXORQesverdaderosiPverdaderooQverdadero
peronoambas
0XOR00
0XOR11
1XOR01
1XOR10
OperacinNO
LaoperacinNo(!)esotraoperacinbooleana

que

difieredelasanteriorespuesslotieneunaentrada.

Lasalidaeselopuestodelaentrada
NO10
NO01
Ej.
Pedroesunestudiante
Pedronoesunestudiante
Debinarioadecimal
Unnmerobinarioestrepresentadopor

unasecuenciadevariosbits
Comnmenteunnmerode8bitsseconoce

comounbyte
Ej.01101110,01010101,11100010
Ejemplodeconversinbinarioadecimal
2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7
Notacinhexadecimal
Lanotacinhexadecimal

permiterepresentarpatronesde4bitsconunsolo

smbolo
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010A
1011B
1100C
1101D
1110E
1111F
Almacenamientoenmemoria
Lamemoriadelacomputadoraest

organizadaenceldas,yuntamaotpicode

unaceldaesunbyte
1Kilobyte

=1024bytes
Bit ms significativo
Bit menos significativo
Representacindedatosenmemoria
Lainformacinestcodificadaenlamemoria

comopatronesdebits.
Texto
Datosnumricos
Imgenes
Sonido
Texto
Enlos60saparecielcdigoASCII(American

StandardCodeforInformationExchange)
128caracteres:33decontroly94normales
Hoyenda:UTF8,Unicode
Carcter #65
Nmeros
Larepresentacindeenterospositivoses

relativamentedirecta
10010101=2^0+2^2+2^5+2^8=1+4+16+

128=149
Culseraunalgoritmoparaconvertirde

decimalabinario?
Dedecimalabinario
Algoritmo
1.

Dividirlacantidadentredosyregistrarel

residuo
2.

Mientrasqueelcocientenoseacero,

continuardividiendoelnuevococientepordosy

registrarlosresiduos
3.

Unavezqueseobtieneuncocientedecero,la

representacinbinariaconsisteenlosresiduos

listadosdederechaaizquierdaenelordenenque

fueronregistrados
Ejemplo
Pasarabinarioelnmero13
13/2=6resta1
6/2=3resta0
3/2=1resta1
1/2=0resta1
Larepresentacinbinariade13es1101
Sumabinaria
Lasumabinariaesmuysimilaralasumaenel

sistemadecimal
0+0=0
0+1=1
1+0=1
1+1=?
111010+11011=?
Sumabinaria
Lasumabinariaesmuysimilaralasumaenel

sistemadecimal
0+0=0
0+1=1
1+0=1
1+1=10
111010+11011=1010101
Almacenamientodeenteros
LosenterosZ

estnformadosporlos

nmerosnaturalesincluyendo0(0,1,2,3)y

losnegativosdelosnmerosnaturales

excluyendoelcero(1,2,3)
Elsistemamspopularparala

representacindeenteroseselsistemade

complementoados
Complementoados
Elcomplementoadospermiteexpresarenterosnegativos
Paracalcularlo
Recorrerdederechaaizquierda

hastatoparseconun1.Copiar

losnmerosrecorridosincluyendo

el1.Apartirdeah,negarlosdgitos

restantes.
Otraopcinesnegartodoslosdgitos

ysumar1alresultado
Elbit

alaizquierdaeselbit

designo
Sumaennotacindecomplementoa

dos
Paralasumaennotacindebasedos,seusa

elmismoprocedimientoqueparalasuma

binariaestndarquitandocualquierbit

adicionalqueseproduzcadelasuma
Ej.7+(5)=0111+1011=?
Deaquyapodemosverlamaneraderealizar

restas
Sobreflujo
Elsobreflujo

puedeocurrircuandosetiene

unasumadedosnmerosdenbitsyel

resultadodelasumaocupan+1

bits
Ejemplo:Sumade5+4:0101+0100=?
Sobreflujo
Elsobreflujo

puedeocurrircuandoseusanotacinde

complementoadosysetieneunasumadedosnmerosden

bitsyelresultadodelaexcedeelrangoquesepuede

representarconlosnbits.
Ejemplo:Sumade5+4:0101+0100=1001=7
Dependiendodeltipodedatoqueseusa,puedeseun

problemaquenoocurretanfrecuentemente
Ej.32bitspermiteenterospositivosdehasta2,147,483,647
Sinembargoesporestaraznquedebemoscuidareltipode

datoqueseeligeparaalmacenarunavariable
TiposdedatosenJava
byte:8bitsconsigno(128,127)
short:16bitsconsigno(32768,32767)
int:32bitsconsigno(2147483648,

2147483647)
long:64bitsconsigno(9223372036854775808,

9223372036854775807)
float:Puntoflotantede32bits
double:Puntoflotantede64bits
char:Unicode

de16bit
Decimalesenbinario
Paratransformardeenterocondecimalesa

binario
1.

Setransformalaparteenteraabinario
2.

Semultiplicacadanmerodelaparte

fraccionariapordos.Sielresultadoesmayoro

iguala1seanotacomoun1binario,delo

contrarioesuncerobinario
Decimalesenbinario
Ejemplo:6.83
6110
0.83x21.66=1
0.66x21.32=1
0.32x20.64=0
0.64x21.28=1
0,28x2

0,56=0
0,56x2

1,12=1
0,12x2

0,24=0
0,24x2

0,48=0
0,48x2

0,96=0
0,96x2

1,92=1
0,92x2

1,84=1
0,84x2

1,68=1
Elresultadoseraentonces:110.110101000111
Nota:Algunosnmerossetransformanendgitosperidicosporej.

0.1
Almacenamientodedecimales
Adiferenciadelalmacenamientodeenteros,el

almacenamientodeunvalorconunapartedecimale

requiereademsdelpatrnde1sy0sunvalorcon

laposicindelpunto.
Esporestoquesehabladepuntoflotante
Ejemploconunbyte:01101011,suponiendo
Unbit

designo
tresbitsparaelexponente
cuatrobitsparalamantisa
Almacenamientodefracciones
Ejemploconunbyte:01101011,suponiendo
Unbit

designo:0
tresbitsparaelexponente:110
cuatrobitsparalamantisa:1011
Lainterpretacindelexponentesehace

usandounmtodollamadoenexceso
Notacinenexceso
Esteesotromtodoparaalmacenarenterosconsigno.Enestemtodo,elpatrnconun

unoalaizquierdaylosdemsdigitos

enceroesconsideradoelceroentero.
11117

1113
11106 1102
11015 1011
11004 1000
10113 0111
10102 0102
10011 0013
10000 0004
01111
01102
01013
01004
00115
00106
00017
00008
Almacenamientodefracciones
Ejemploconunbyte:01101011,suponiendo
Unbit

designo:0(ms)
tresbitsparaelexponente:110
cuatrobitsparalamantisa:1011
Lainterpretacindelapartedecimalseusaun

mtodollamadoenexceso
110=2estonosdicedemoverelpuntoaladerechaen2

bits(sielvalorfueranegativo,lomoveramosala

izquierda)
Obtenemosentonces10.111x2^1+0x2^0.1/2^1+1

/2^2=2.75

You might also like