office46
?>

Сообщение, записанное буквами из 64 - символьного алфавита, содержит 500 символов. какой объём информации (в килобайтах) оно несёт?

Информатика

Ответы

gabramova

Объём информации (он же информационная энтропия) зависит от содержания сообщения. А место, которое оно занимает на двоичном информационном носителе, определяем так:

log2(64) = 6 битов на символ.

Далее зависит от устройства памяти. Под один символ обычно отводится целое число байтов (минимальных адресуемых ячеек). Если так (а в вопросе упоминаются байты), то берём байт из 8 битов, тогда это 1 байт на символ, итого 500 байтов или 0,5 килобайта или около 0,49 КБ.

Если биты выстроены непрерывно, тогда считаем длину сообщения в битах: 6 * 500 = 3000 битов. Делим на 8 (байт), итого 375 байтов или 0,375 килобайтов или около 0,37 КБ.

darialyagina
Количество информации в сообщении обычно равно количеству бит (округляемому до ближайшего целого с избытком) , которое необходимо для воспроизведения текста сообщения. то есть в сообщении 10101010 информации - 8 бит, в сообщении "погода сегодня будет зимняя, снег не растает, солнце взойдет утром и сядет вечером" - 350 бит (если считать, для простоты, что в языке 32 буквы) . в сообщении e=hν информации, если кодировку ситать юникодом, - 8 байт (64 битa) информации. но вот ценность этих сообщений несопоставима.  но ценность информации не есть величина неизбывная и строго измеряемая для данного сообщения. она всегда зависит от того, кому эта информация предназначена, и от того, что путного можно извлечь из неё, а значит - слабо формализуема. в конце концов, запросто можно представить себе (путь и фантастическую) 
kartyshkinaaa

Скопировать код в Dev C++ и запустить в компиляторном окне будут выведены значения.

Объяснение:

Dev C++

1) #include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main(int argc, char** argv) {

int x = 5, y = 10;

while(y<=10){

 if (x <= y){

  x = x + 1;

  y = y - 1;

 }

 else {

  x = x - 5;

  y = y + 5;

 }  

}

printf("X = %d", x);

printf("\nY = %d", y);

return 0;

}

2) #include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main(int argc, char** argv) {

int a = 2, b = 0;

while (a != 7){

 a = a + 1;

 b = b + a;

}

printf("a = %d", a);

printf("\nb = %d", b);

return 0;

}

3) #include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main(int argc, char** argv) {

int a = 56, b = 77;

while (a != b){

 if (a > b){

  a = a - b;

 }

 else {

  b = b - a;

 }

}

printf("a = %d", a);

printf("\nb = %d", b);

return 0;

}

4) #include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main(int argc, char** argv) {

int a = 6, b = 0;

while (a!=2){

 b = b + a;

 a = a - 1;

}

printf("a = %d", a);

printf("\nb = %d", b);

return 0;

}

5) #include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main(int argc, char** argv) {

int a = 1, b = 0;

while (a != 1024){

 b = b + a;

 a = a * 2;

}

printf("a = %d", a);

printf("\nb = %d", b);

return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Сообщение, записанное буквами из 64 - символьного алфавита, содержит 500 символов. какой объём информации (в килобайтах) оно несёт?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yulyatmb
vusokaya13
Albina
Ushakova Sakhno
Eduard Melikyan
kireevatatiana
profitgroup51
info7
Егоркина
dkedrin74038
anadtacia03108988
sanseth5
allo01
Galina-Marat1096
kuz-vlad21