FennFelis
(usa Ubuntu)
Enviado em 29/03/2012 - 16:54h
hessel escreveu:
Cara,
Você deve estar pensando em abrir um arquivo para escrita em modo binário e escrever o valor de uma variável nele, é isso?
Lembre que tudo são bits... por exemplo, no seu programa: 00001010 = 0x0a = 10. A diferença está apenas na forma de apresentação.
Se você abrir um arquivo binário para escrita e escrever o valor 0x0a, você estará escrevendo o valor 10.
Pegue esse arquivo e abra num editor de texto comum e você verá (10 não é um caracter visível... mas blz :-) o caracter ascii 10.
Se abrir em um editor hexadecimal vai ver o valor 0x0a.
E se abrir em algum editor de vizualição binária vai ver 00001010.
Esse exemplo foi só para lembrar que os arquivos binário armazenam valores. A diferença está apenas na forma que eles são apresentados para você e isso varia com a ferramenta que você vai usar para abri-lo.
Abs
Acho que nao fui muito claro.
Supondo
//Declaracao de variaveis
uint32_t cod;
cod |= 0b001100;
Desloquei o valor 1100 em binario em cod.
Se eu mostrar este valor com %u, aparece 12 em decimal
Se eu mostrar %0x08x, aparece 0bC em hexadecimal.
Minha duvida é o seguinte, se eu escrever em um arquivo .bin a variavel cod, o que mostrará no arquivo .bin? a forma com que eu salvei ou com um numero binario (1100)?