Difference between revisions of "Byte/es"

From Free Pascal wiki
Jump to navigationJump to search
(Creacion de pagina Byte/es y traduccion del contenido de ingles a español)
 
m (Replace deprecated enclose attributes)
 
Line 26: Line 26:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
El uso de <syntaxhighlight lang="pascal" enclose="none">byte</syntaxhighlight> como tipo de datos proporciona una mejor documentación en cuanto al propósito del uso de la variable particular.
+
El uso de <syntaxhighlight lang="pascal" inline>byte</syntaxhighlight> como tipo de datos proporciona una mejor documentación en cuanto al propósito del uso de la variable particular.
  
 
== Funciones estandar ==
 
== Funciones estandar ==
 
=== Conversión hacia y desde el caracter ===
 
=== Conversión hacia y desde el caracter ===
  
El tipo de <syntaxhighlight lang="pascal" enclose="none">byte</syntaxhighlight> se puede convertir a [[Char/es|char]] mediante la [[Chr/es|<syntaxhighlight lang="pascal" enclose="none">función chr</syntaxhighlight>]]. Los valores de tipo [[Char/es|char]] se pueden forzar a <syntaxhighlight lang="pascal" enclose="none">byte</syntaxhighlight> utilizando la [[Ord/es|<syntaxhighlight lang="pascal" enclose="none">función ord</syntaxhighlight>]].
+
El tipo de <syntaxhighlight lang="pascal" inline>byte</syntaxhighlight> se puede convertir a [[Char/es|char]] mediante la [[Chr/es|<syntaxhighlight lang="pascal" inline>función chr</syntaxhighlight>]]. Los valores de tipo [[Char/es|char]] se pueden forzar a <syntaxhighlight lang="pascal" inline>byte</syntaxhighlight> utilizando la [[Ord/es|<syntaxhighlight lang="pascal" inline>función ord</syntaxhighlight>]].
  
 
El programa anterior corregido para uso legal:
 
El programa anterior corregido para uso legal:
Line 61: Line 61:
 
=== Representación de cadena ===
 
=== Representación de cadena ===
  
La {{Doc|package=RTL|unit=system|identifier=binstr|text=<syntaxhighlight lang="pascal" enclose="none">función binStr</syntaxhighlight> }} de la [[System_unit/es|unidad del sistema]] se puede usar para obtener una cadena que muestra la representación binaria de un <syntaxhighlight lang="pascal" enclose="none">byte</syntaxhighlight>:
+
La {{Doc|package=RTL|unit=system|identifier=binstr|text=<syntaxhighlight lang="pascal" inline>función binStr</syntaxhighlight> }} de la [[System_unit/es|unidad del sistema]] se puede usar para obtener una cadena que muestra la representación binaria de un <syntaxhighlight lang="pascal" inline>byte</syntaxhighlight>:
  
 
<syntaxhighlight lang="pascal">
 
<syntaxhighlight lang="pascal">
Line 80: Line 80:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Una función más versátil es  {{Doc|package=RTL|unit=strutils|identifier=inttobin|text=<syntaxhighlight lang="pascal" enclose="none">intToBin</syntaxhighlight> proporcionada por <syntaxhighlight lang="pascal" enclose="none">strUtils</syntaxhighlight> unit}}.
+
Una función más versátil es  {{Doc|package=RTL|unit=strutils|identifier=inttobin|text=<syntaxhighlight lang="pascal" inline>intToBin</syntaxhighlight> proporcionada por <syntaxhighlight lang="pascal" inline>strUtils</syntaxhighlight> unit}}.
  
 
{{Data types}}
 
{{Data types}}

Latest revision as of 09:37, 26 May 2022

Deutsch (de) English (en) español (es) suomi (fi) français (fr) italiano (it) русский (ru) 中文(中国大陆)‎ (zh_CN)
Un byte es un entero sin signo en el rango de 0..255. Un byte tiene 8 bits de longitud. Un byte y un char son prácticamente lo mismo que en la versión 3 de FPC.

Valores validos

La diferencia clave es que un byte solo se puede designarse como un tipo numérico, mientras que un char se puede usar como un carácter o como parte de un tipo de cadena y no se puede usar en una expresión aritmética. Un byte siempre tendrá el mismo tamaño que un ansiChar, pero en el futuro char puede considerarse un sinónimo de wideChar, no ansiChar.

Por Ejemplo:

program byteDemo(input, output, stderr);

var 
	foo: byte;
	bar: char;

begin
	// Las dos asignaciones son basicamente iguales
	foo := 65;
	bar := 'A';
	
	// Aunque son el mismo valor,
	// la siguiente asignacion sería ilegal
	//foo := 'A';
	//bar := 65;
end.

El uso de byte como tipo de datos proporciona una mejor documentación en cuanto al propósito del uso de la variable particular.

Funciones estandar

Conversión hacia y desde el caracter

El tipo de byte se puede convertir a char mediante la función chr. Los valores de tipo char se pueden forzar a byte utilizando la función ord.

El programa anterior corregido para uso legal:

program ordChrDemo(input, output, stderr);

var
	foo: byte;
	bar: char;

begin
	foo := 65;
	bar := 'A';
	
	foo := ord('A');
	// chr(65) es equivalente a #65
	bar := chr(65);
	bar := #65;
	
	// Alternativamente: typecasts / tipos de conversión
	// typecasts de expresiones constantes
	// se garantiza que se produzca en tiempo de compilación
	foo := byte('A');
	bar := char(65);
end.

Representación de cadena

La función binStr de la unidad del sistema se puede usar para obtener una cadena que muestra la representación binaria de un byte:

program binStrDemo(input, output, stderr);

var
	foo: byte;

begin
	foo := 10;
	writeLn(binStr(foo, 8));
end.

La salida es:

00001010

Una función más versátil es intToBin proporcionada por strUtils unit.


navigation bar: data types
simple data types

boolean byte cardinal char currency double dword extended int8 int16 int32 int64 integer longint real shortint single smallint pointer qword word

complex data types

array class object record set string shortstring