Calculos de unidades computacionais [RESOLVIDO]

1. Calculos de unidades computacionais [RESOLVIDO]

César
dark777

(usa Debian)

Enviado em 27/05/2016 - 11:23h

Estou fazendo um programa em C no meu curso tecnico sobre redes que façam os seguintes calculos e mostra uma saida em printf para as informaçoes abaixo:
Total RAM: Qtd em PByte, Pbit, TByte, Tbit, GByte, Gbit, MByte, Mbit, kByte, kbit e bits
Como fazer calculos das unidades para que meu printf mostre as medidad como esta a acima?
assim como o exemplo acima convertendo PB para Pb de PB para GB de GB para Gb de GB para MB de MB para Mb de MB para kB de kB para kb para bytes e para bits. Estive pesquisando num site que fazia os calculos sobre as conversoes e 1GB corresponde aos valores abaixo:

1GB tem 8 gigabits que equivalem a 1024 megabytes que correspondem a 8192 megabits que tem 1048576 kilobytes correspondente a 8388608 kilobits que possuem 1073741824 bytes totalizando 8589934592 bits equivamente terabytes: 0.0009765625 e petabytes: 9.5367431640625e-07.

a minha duvida e dificuldade esta em identificar os calculos para chegar a estes valores citados acima pois o professor pediu para que fizessemos com as unidades de nossos computadores. entao alem de mostrar o codigo eu teria que criar a documentação de como foi feito os calculos apresentar num seminario e mostrar o programa executando perfeitamente...

se vcs puderem me esclarecer como calcular converter e chegar aos valores citados acima desde ja agradeço...


  


2. Re: Calculos de unidades computacionais [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 27/05/2016 - 16:17h

Você poderia começar pela Wikipédia: https://pt.wikipedia.org/wiki/Gigabyte.

Contudo, para o trabalho ficar devidamente embasado, precisa consultar diretamente nas fontes oficiais relacionadas ao Sistema Métrico Internacional e outros de normas/padrões internacionais (como o IEEE). Exemplo: http://physics.nist.gov/cuu/Units/binary.html.

[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
https://perspicazsite.wordpress.com



3. Re: Calculos de unidades computacionais [AJUDA]

César
dark777

(usa Debian)

Enviado em 27/05/2016 - 20:50h

textmode escreveu:

Você poderia começar pela Wikipédia: https://pt.wikipedia.org/wiki/Gigabyte.

Contudo, para o trabalho ficar devidamente embasado, precisa consultar diretamente nas fontes oficiais relacionadas ao Sistema Métrico Internacional e outros de normas/padrões internacionais (como o IEEE). Exemplo: http://physics.nist.gov/cuu/Units/binary.html.

[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
https://perspicazsite.wordpress.com


este site eu ja vi porem vendo que o ato de se usar 1024*1024*1024 é aceito mas nao
é o correto por isso o sistema nao reconhece o tamanho total da sua
memmoria ou disco entao usando a biblioteca sysinfo.h

struct sysinfo si;
sysinfo (&si);
si.totalram
si.freeram

a mesma pega todos os valores em bytes que é o que o sistema operacional entende,
o que eu quero é fazer as conversoes a partir dos bytes encontrado pelo SO....
é ai que esta o problema pra mim eu nao estou conseguindo pois
de ex: meu notebook tem 16Gb de Ram entao si.totalram=16414830592 bytes
entao eu peguei um site e coloquei o total de bytes usando as duas
normas para se calcular tanto 1024 quanto 1000 e deu o resultado do seguinte quadro abaixo
mas nao consegui identificar como foi feito cada calculo ai.....
##########16 Giga Bytes################
# (IEEE New notation: kilobyte = 1000 bytes)
# bytes: 16414830592
# bits: 131318644736
# kilobits: 131318644.736
# kilobytes: 16414830.592
# megabits: 131318.644736
# megabytes: 16414.830592
# gigabits: 131.318644736
# gigabytes: 16.414830592
# terabytes: 0.016414830592
# petabytes: 1.6414830592e-05
#####################################
##########16 Giga Bytes################
# (IEEE Obsolete notation: kilobyte = 1024 bytes)
### bytes: 16414830592
# bits: 131318644736
# kilobits: 128240864
# kilobytes: 16030108
# megabits: 12523.521875
# megabytes: 15654.40234375
# gigabits: 122.300018310547
# gigabytes: 15.2875022888184
# terabytes: 0.0149292014539242
# petabytes: 1.45792982948478e-05
########################################



4. Re: Calculos de unidades computacionais [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 27/05/2016 - 23:16h

Os valores não batem com as especificações?

Não cheguei a validar mas pare mim fazem sentido:


| kilobyte = 1000 bytes |
|-----------------------+------------------+---------------------|
| bytes | 16414830592 | ( * 1 ) |
| bits | 131318644736 | ( * 8 ) |
| kilobits | 131318644.736 | ( / 125 ) |
| kilobytes | 16414830.592 | ( / 1000 ) |
| megabits | 131318.644736 | ( / 125000 ) |
| megabytes | 16414.830592 | ( / 1000000 ) |
| gigabits | 131.318644736 | ( / 125000000 ) |
| gigabytes | 16.414830592 | ( / 1000000000 ) |
| terabytes | 0.016414830592 | ( / 1000000000000 ) |
| petabytes | 1.6414830592e-05 | ( / 1e+15 ) |

| kilobyte = 1024 bytes |
|-----------------------+----------------------+----------------------------|
| bytes | 16414830592 | ( * 1 ) |
| bits | 131318644736 | ( * 8 ) |
| kilobits | 128240864 | ( / 128 ) |
| kilobytes | 16030108 | ( / 1024 ) |
| megabits | 12523.521875 | ( / 1310720 ) |
| megabytes | 15654.40234375 | ( / 1048576 ) |
| gigabits | 122.300018310547 | ( / 134217728 ) |
| gigabytes | 15.2875022888184 | ( / 1073741824 ) |
| terabytes | 0.0149292014539242 | ( / 1099511627776 ) |
| petabytes | 1.45792982948478e-05 | ( / 1.12589990684263e+15 ) |



5. Re: Calculos de unidades computacionais [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/05/2016 - 23:36h

Existem tipos em C de maior capacidade como o uint64_t.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



6. Re: Calculos de unidades computacionais [RESOLVIDO]

César
dark777

(usa Debian)

Enviado em 28/05/2016 - 09:03h

textmode escreveu:

Os valores não batem com as especificações?

Não cheguei a validar mas pare mim fazem sentido:


| kilobyte = 1000 bytes |
|-----------------------+------------------+---------------------|
| bytes | 16414830592 | ( * 1 ) |
| bits | 131318644736 | ( * 8 ) |
| kilobits | 131318644.736 | ( / 125 ) |
| kilobytes | 16414830.592 | ( / 1000 ) |
| megabits | 131318.644736 | ( / 125000 ) |
| megabytes | 16414.830592 | ( / 1000000 ) |
| gigabits | 131.318644736 | ( / 125000000 ) |
| gigabytes | 16.414830592 | ( / 1000000000 ) |
| terabytes | 0.016414830592 | ( / 1000000000000 ) |
| petabytes | 1.6414830592e-05 | ( / 1e+15 ) |

| kilobyte = 1024 bytes |
|-----------------------+----------------------+----------------------------|
| bytes | 16414830592 | ( * 1 ) |
| bits | 131318644736 | ( * 8 ) |
| kilobits | 128240864 | ( / 128 ) |
| kilobytes | 16030108 | ( / 1024 ) |
| megabits | 12523.521875 | ( / 1310720 ) |
| megabytes | 15654.40234375 | ( / 1048576 ) |
| gigabits | 122.300018310547 | ( / 134217728 ) |
| gigabytes | 15.2875022888184 | ( / 1073741824 ) |
| terabytes | 0.0149292014539242 | ( / 1099511627776 ) |
| petabytes | 1.45792982948478e-05 | ( / 1.12589990684263e+15 ) |


entao e vc pode notar que há diferença no tamanho real entre megabytes e gygabytes de ambos sendo que 1024bytes mostra o valor entendido pela notação entiga no SO mas nao entendo por que vc usou:
estas seriam as formas corretas de se efetuar os calculos?

| megabytes | 16414.830592 | ( / 1000000 ) |
| gigabytes | 16.414830592 | ( / 1000000000 ) |
---------------------------------------------------------------------------------------
| megabytes | 15654.40234375 | ( / 1048576 ) |
| gigabytes | 15.2875022888184 | ( / 1073741824 ) |




7. Re: Calculos de unidades computacionais [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 28/05/2016 - 10:45h

dark777 escreveu:
[...]
entao e vc pode notar que há diferença no tamanho real entre megabytes e gygabytes de ambos sendo que 1024bytes mostra o valor entendido pela notação entiga no SO mas nao entendo por que vc usou:
estas seriam as formas corretas de se efetuar os calculos?

| megabytes | 16414.830592 | ( / 1000000 ) |
| gigabytes | 16.414830592 | ( / 1000000000 ) |
---------------------------------------------------------------------------------------
| megabytes | 15654.40234375 | ( / 1048576 ) |
| gigabytes | 15.2875022888184 | ( / 1073741824 ) |



Sim, a diferença nos valores era esperada. Eu fiz "engenharia reversa" a partir dos valores que você passou para descobrir o divisor ou multiplicador. O valor inicial em bytes, 16414830592, corresponde a ~16.4 gigabytes para kilo=1000 e corresponde a ~15.3 gigabytes para kilo=1024. O hardware normalmente usa kilo=1000 enquanto o SO normalmente usa kilo=1024, não sei dizer se em alguma época foi diferente disto.

[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
https://perspicazsite.wordpress.com


8. Re: Calculos de unidades computacionais [AJUDA]

César
dark777

(usa Debian)

Enviado em 28/05/2016 - 11:52h

textmode escreveu:

dark777 escreveu:
[...]
entao e vc pode notar que há diferença no tamanho real entre megabytes e gygabytes de ambos sendo que 1024bytes mostra o valor entendido pela notação entiga no SO mas nao entendo por que vc usou:
estas seriam as formas corretas de se efetuar os calculos?

| megabytes | 16414.830592 | ( / 1000000 ) |
| gigabytes | 16.414830592 | ( / 1000000000 ) |
---------------------------------------------------------------------------------------
| megabytes | 15654.40234375 | ( / 1048576 ) |
| gigabytes | 15.2875022888184 | ( / 1073741824 ) |



Sim, a diferença nos valores era esperada. Eu fiz "engenharia reversa" a partir dos valores que você passou para descobrir o divisor ou multiplicador. O valor inicial em bytes, 16414830592, corresponde a ~16.4 gigabytes para kilo=1000 e corresponde a ~15.3 gigabytes para kilo=1024. O hardware normalmente usa kilo=1000 enquanto o SO normalmente usa kilo=1024, não sei dizer se em alguma época foi diferente disto.

[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
https://perspicazsite.wordpress.com


como vc fez a engenharia reversa?


9. Re: Calculos de unidades computacionais [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 28/05/2016 - 20:52h

dark777 escreveu:
[...]
como vc fez a engenharia reversa?


Peguei o valor primário de "16GB" em bytes e calculei por quanto cada valor foi multiplicado ou dividido. Não há segredo nos cálculos da tabela que apresentou.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts