Programar em C/Tipos de dados: diferenças entre revisões

[edição verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
Abacaxi (discussão | contribs)
Sem resumo de edição
Abacaxi (discussão | contribs)
Sem resumo de edição
Linha 49:
 
Ora o que aconteceu é que nos bastavam pouco menos de 256 combinações (8 bits ordenados) para termos uma combinação para cada letra, maiúscula e minúscula, número, pontos de exclamação, interrogação, etc. …e isso era o suficiente para a nossa comunicação. Mas para haver um certo consenso para que uma dada combinação desse um dado símbolo surgiu a tabela ASCII (surgiram outras tabelas quando se quis colocar os símbolos de outras línguas, como o japonês ou o chinês – ver tabela ISO)
Portanto com 8 bits ou 8 casas conseguíamos ter qualquer símbolo que utilizamos. A esse conjunto de 8 bits chamamos de byte, mais convenientemente. Portanto, um byte tem 8 casas de zeros /uns , ou seja 2 elevado a 8 dá as 256 combinações. E o byte é a unidade básica que o C++ consegue operar. Istoe iriaé darrepresentado apelo tipologiatipo char então já temos explicado uma das tipologias.
 
== Texto ==
(tipologiatipo de dado) (char)
Temos o char que é um caracteres da tabela ASCII, que ocupa um byte, logo temos 256 combinações. Este nº de combinações dá para termos todo o alfabeto, minúsculas e maiúsculas, os algarismos de 0 a 9 e todas as marcas de pontuação tipo :.;!?, etc
 
== Números inteiros ==
 
Mas agora observem o ponto: com a tipologia char apenas podemos expressar dois dígitos com dois bytes certo. (cada byte-um digito(numeronúmero))
 
Mas se dissermos que aqueles 2 bytes são ints. já poderemos utilizar as 65 536 combinações pois 2 bytes -16bits- temos 2 elevado a 16 = 65 536 e isso dar-nos-ia esses números todos.
 
Linha 127 ⟶ 128:
== Bool ==
 
EstaEste tipologiatipo surgiu porque muitas vezes apenas se quer ter 2 valores: sim/não ; verdadeiro/falso.
Tem o tamanho de um byte e tem apenas dois valores 0 e 1 que corresponde a true e false.
 
Linha 134 ⟶ 135:
 
Quando queremos guardar um valor o sistema operativo vai reservar uma quantidade x de bytes, numa posição dada na memória.
A quantidade reservada vai depender do que declararmos, ie dado tipologiatipolo de dados, que queremos guardar. Recorde-se que gravar o valor 5 é diferente de ter 5,67. Por isso é natural que ocupe mais espaço em termos de memória (é natural que quanto maior for o número seja necessário mais combinações de bits e bytes).
Portanto vou necessitar de apenas 1 byte para guardar uma letra que denominamos de char.
Vou necessitar 4 bytes para poder ter de 0 to 4294967295.
Linha 141 ⟶ 142:
 
{| border 1
| NameNome || DescriptionDescrição || SizeTamanho* || Range*
|-
| char || Character or small integer|| 1byte || signed: -128 to 127 unsigned: 0 to 255
Linha 167 ⟶ 168:
 
Então antes podíamos pensar na memória do PC como um conjunto de n bits ordenados de memória, Agora podemos pensar em n/8 bytes de memória. Temos 1º byte, 2º byte, …. m byte.
Dito de outra forma, tínhamos uma única fita composta de bits. Agora temos muitas fitinhas de bytes. como esse bytes estão ordenados, podemos logo ter um nº de identificação para cada byte – temos então as addessesaddresses.
 
== Endereços ==
Linha 179 ⟶ 180:
 
'''pergunta''': Qual a razão do computador usar apenas bytes como medida mínima? Será que não seria possível utilizar 7 bits ou 5 bits?
*Não é possível pelo fato do computador so intenderentender 0 e 1 então no caso é impossível se ter um número ímpar de bits porque tudo tem que ter o 0 e o 1 por isso que tudo na informática evolui multiplicando-se por 2 (32, 64, 256, 512)
 
== Void ==
Void significa ausência. Nas linguagens de programação derivadas de C, que inclui C++, Java e D, '''void''' é uma palavra-chave usada para identificar que uma função retorna nenhum resultado através de "return". Ela é colocada no lugar de tipo de retorno da função. Em variações do C, '''void''' é usado também para indicar que uma função não recebe argumentos.