Sign in Join
Wiki copytemporary

Byte/es

Deutsch · English · Español · Français · Italiano · Suomi · Русский · 中文(中国)

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:

pascal
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:

pascal
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:

pascal
program binStrDemo(input, output, stderr);

var
    foo: byte;

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

La salida es:

text
00001010

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


From the Free Pascal wiki, page "Byte/es", as it stood on 2022-05-26 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.