Как работает память (биты) в программировании на С - PullRequest
0 голосов
/ 26 января 2019

Пожалуйста, объясните этот параграф:

Числа с плавающей точкой в ​​C используют кодировку IEEE 754.

Этот тип кодировки использует знак, значащий и показатель степени.

Из-за этой кодировки многие числа будут иметь небольшие изменения, чтобы их можно было сохранить.

Кроме того, число значащих цифр может немного измениться, поскольку это двоичное представление, а не десятичное.

Одинарная точность (с плавающей запятой) дает 23 значащих бита, 8 битов показателя степени и 1 знаковый бит.

Двойная точность (двойная) дает 52 значащих бита, 11 битов показателя степени и 1 знаковый бит.

Я начал кодировать на «C» недавно, я узнал все структуры данных, как работают программы и все. Но когда я увидел этот абзац, я не понял ни слова.

Что значат, экспонента, биты.?

Как переменная, float, double хранит значения, сколько места требуется и где они хранятся.

1 Ответ

0 голосов
/ 26 января 2019

Бит является переключателем «вкл / выкл», кодируется как 0 или 1. Вы также можете думать о нем как о логическом, Истинном или Ложном.

Бит знака говорит вам, является ли число с плавающей точкой положительнымили отрицательный.

Значительное, также известное как Мантисса, дает вам отрицательные силы двух.Для числа с плавающей запятой у вас есть 23 бита, так что вы можете представлять что угодно от 2 ^ -23 до 1-2 ^ -23.

Экспонента также дает вам полномочия 2 в диапазоне от (2 ^ -126,2 ^ 127).

Соберите все вместе, чтобы получить ваше число: (знак) (1 + значимый) 2 ^ (показатель степени)

Не все числа могут быть точно представлены степенями 2. Следовательно, ваша машина приближает числанапример, 0,1.

для операций с плавающей запятой требуется 32 бита, а для удваиваний требуется 64 бита.

Ниже приведена краткая статья о числах с плавающей запятой IEEE, которая должна прояснить ситуацию: https://www.doc.ic.ac.uk/~eedwards/compsys/float/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...