O tipo inteiro



O tipo inteiro é um número de valor inteiro, ou seja, não fracionário. De um modo geral, trata-se de seqüências de dígitos que representam números inteiros, que podem ser escritos na base 8 (octal), na base 10 (decimal) ou na base 16 (hexadecimal).


Um inteiro decimal é formado pela seqüência de dígitos decimais: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Exemplos válidos para decimais são:


0

12345

1

- 89


Os números a seguir não são exemplos válidos para decimais:


00

123.4

1,0

89-8

12 34

045


OBS. Embora alguns compiladores aceitem declarações do tipo:


int i = 123.4;


todos os números colocados depois do ponto fracionário (nesse caso, o 4) serão desconsiderados.


Um inteiro hexadecimal é formado pela seqüência de dígitos decimais: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 combinados com letras que vão de "A" a "F" (A, B, C, D, E, F ou a, b, c, d, e, f). Como não há regras que impeçam que um hexadecimal possua só valores decimais em sua composição, devemos diferenciá-los dos inteiros decimais inserindo 0x em seus primeiros dígitos. Exemplos válidos para hexadecimais são:


0x0

0x1234

0x1

0xA

0xaBcD

0x1A9F


Os números a seguir não são válidos para valores hexadecimais:


00x

0x123.4

0x1,0

0xAGB

OxaB

cD

FF12


Um inteiro octal é formado pela seqüência de dígitos decimais: 0, 1, 2, 3, 4, 5, 6, 7. Devemos diferenciá-los dos inteiros decimais inserindo 0 em seu primeiro dígito. Exemplos válidos para octais são:


00

012345

01

- 056


Os números a seguir não são exemplos válidos para octais:


0

0123.4

01,0

089

012 34

45


Via de regra, os dados inteiros são devolvidos pelo programa no formato decimal. Desta forma, podemos testar uma aplicação, onde colocaremos valores inteiros em vários formatos, porém os mesmos sempre serão exibidos em formato decimal. Você poderá testar valores válidos e valores não válidos para cada base de dados e visualizar os resultados.


Coloque um Label e um Button no Form. No evento OnClick do botão digite:


void __fastcall TForm1::Button1Click(TObject *Sender)
{
// declara um valor inteiro decimal cujo nome será i
int i = 43; // podemos substituir o 43 por hexadecimais, 
            //octais ou outros valores decimais

Label1 -> Caption = i; // coloca i no Caption de Label1
}



Compile e execute a aplicação. O Label imprimirá o número 43. Feche a aplicação e substitua o valor 43 (decimal) no Editor de Códigos por 0x2b (hexadecimal). Rode o programa e dê um clique no botão para ver o resultado. Agora faça a mesma experiência substituindo o 0x2b por 053 (octal). Se você fez tudo direitinho, qualquer dos testes que você executar deverá imprimir o número 43 no Label do Form. Isso porque esses valores são equivalentes. Baseando-se nas explicações introdutórias sobre esses valores inteiros e na tabela abaixo, faça mais alguns testes para compreender melhor o que ocorre a nível equivalência desses dados.


veja uma tabela inicial:


decimais

octais

hexadecimais

0

00

0x0

1

01

0x1

2

02

0x2

3

03

0x3

4

04

0x4

5

05

0x5

6

06

0x6

7

07

0x7

8

010

0x8

9

011

0x9

10

012

0xA

11

013

0xB

12

014

0xC

13

015

0xD

14

016

0xE

15

017

0xF

16

020

0x10

17

021

0x11

18

022

0x12

19

023

0x13

20

024

0x14

21

025

0x15

22

026

0x16

23

027

0x17

24

030

0x18

25

031

0x19

26

032

0x1A

27

033

0x1B

28

034

0x1C

29

035

0x1D

30

036

0x1E

31

037

0x 1F

32

040

0x20


Tudo pode estar parecendo muito complicado, mas não se preocupe porque o uso de valores octais ou hexadecimais não é comum. Além do mais, no avançar do curso (ou talvez na seção de tutoriais), nós aprenderemos a construir uma calculadora que nos apresentará como resultado o valor de conversão entre esses dados. Por enquanto, contentemo-nos com a calculadora do Windows que pode realizar esse tipo de cálculos.




anterior

índice

próxima



HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO