Вычислить двоичное действительное число

У меня есть вопрос о дробных числах

Я пытаюсь вычислить двоичное число. Например, 101.01.

2^3 2^2 2^1 2^0 (dot/point) 2^-1 2^-2 2^-3

Это Фото, если не понятно

Как на картинке, если слева (точка), показатель степени положительный если вправо (точка), показатель степени отрицательный.

Требуется вычислить число, которое находится слева от точки.

101 = 2^0 + 2^2 = 5

И вычислить числа справа от точки.

01 = 2^-2 = 0.25

Мой вопрос в том, почему у отрицания нет показателя степени 0 (2 ^ 0),

Тогда как положительный имеет показатель степени 0.

Разве 0 не нейтральное число, ни положительное, ни отрицательное?

«почему у отрицательного значения нет показателя степени 0 (2 ^ 0)» --> Как вы думаете, почему отрицательное значение должно иметь значение 0 (2 ^ 0)? Примечание: 2 ^ 0, как в pow(2,0), равно 1,0.

chux - Reinstate Monica 13.02.2023 05:58

@chux-ReinstateMonica, потому что я подумал, что если положительный показатель степени равен 2 ^ 0, то отрицательный должен быть таким же.

Kangkue 13.02.2023 07:19

Канкуэ, когда у вас есть «отрицательное», вы говорите об отрицательном числе (x < 0)? Значение меньше 1,0 или что?

chux - Reinstate Monica 13.02.2023 07:22

@chux-ReinstateMonica, как на картинке 2^3 2^2 2^1 2^0 (dot/point) 2^-1 2^-2 2^-3 положительные показатели начинаются с 2 ^ 0, а прямые отрицательные — 2 ^ -1

Kangkue 13.02.2023 07:52
Laravel с Turbo JS
Laravel с Turbo JS
Turbo - это библиотека JavaScript для упрощения создания быстрых и высокоинтерактивных веб-приложений. Она работает с помощью техники под названием...
Типы ввода HTML: Лучшие практики и советы
Типы ввода HTML: Лучшие практики и советы
HTML, или HyperText Markup Language , является стандартным языком разметки, используемым для создания веб-страниц. Типы ввода HTML - это различные...
Аутсорсинг разработки PHP для индивидуальных веб-решений
Аутсорсинг разработки PHP для индивидуальных веб-решений
Услуги PHP-разработки могут быть экономически эффективным решением для компаний, которые ищут высококачественные услуги веб-разработки по доступным...
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
Слишком много useState? Давайте useReducer!
Слишком много useState? Давайте useReducer!
Современный фронтенд похож на старую добрую веб-разработку, но с одной загвоздкой: страница в браузере так же сложна, как и бэкенд.
Узнайте, как использовать теги &lt;ul&gt; и &lt;li&gt; для создания неупорядоченных списков в HTML
Узнайте, как использовать теги <ul> и <li> для создания неупорядоченных списков в HTML
HTML предоставляет множество тегов для структурирования и организации содержимого веб-страницы. Одним из наиболее часто используемых тегов для...
2
4
80
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это работает так же в десятичных числах (обычные числа)

Например, у вас может быть 5, что = 5*10^0, или для полноты картины мы можем сказать 05.0 = 0*10^1 + 5*10^0 + 0*10^0. Ни одно из этих чисел не является отрицательным. Показатели отрицательные.

Путаница в том, что само число 05.0 не является отрицательным, в то время как некоторые показатели степени отрицательные. Мы могли бы также написать это как 05.0=0*10 + 5*1 + 0*1/10

Возвращаясь к вашему примеру, мы можем, таким образом, прояснить путаницу, записав все 101.01 как единую сумму. Это выглядит следующим образом:

1*(2*2) + 0*(2) + 1*(2/2) + 0*(1/(2)) + 1*(1/(2*2)) = 1*4 + 1*1 + 1/4 = 5.25

Ответ принят как подходящий

Я думаю, что короткий ответ таков: потому что . или точка счисления не совсем совпадает с «нейтральной» точкой.

Более длинный ответ начинается с обзора того, что вы, возможно, уже знаете:

Действительная числовая линия симметрична относительно 0 для сложения. 0 - это «нейтральная точка», ни положительная, ни отрицательная. (Математики говорят, что 0 — это «аддитивная идентичность».)

Положительные числа симметричны относительно 1 для умножения. 1 – «нейтральная точка». (Математики говорят, что 1 — это «мультипликативная идентичность».)

И эти две системы очень, очень хорошо сочетаются, когда дело доходит до полномочий. Это то, что пытается показать изображение , которое вы связали . Обычно я представляю себе такую ​​таблицу:

Н 10N 2N 3 103 1000 23 8 2 102 100 22 4 1 101 10 21 2 0 100 1 20 1 -1 10-1 0,1 2-1 ½ -2 10-2 0,01 2-2 ¼ -3 10-3 0,001 2-3

Средняя строка этой таблицы — строка N = 0 — является центром или точкой поворота или «нейтральной» строкой, строкой, вокруг которой все симметрично, с N = 0 и XN = 1. (Я бы раскрасил эту строку по-другому, если бы я знал, как использовать уценку переполнения стека.)

Я не настолько математик, чтобы сказать, должно ли так быть по своей сути. Я помню, когда я впервые узнал об этом, было не очевидно, что должно означать X0 или X, возведенное в степень отрицательного числа. Но когда вы рисуете эту таблицу и смотрите шаблоны, вы можете видеть, что X0 должен быть равен 1, потому что, перемещаясь вниз по столбцам, вы постоянно делите на 10 или 2 (так же, как когда вы переходите к прямо на изображении, которое вы связали).

Еще одна вещь, на которую следует обратить внимание, это то, что X-N всегда равно 1/XN. Это в конечном итоге показывает, что должно означать X, возведенное в отрицательную степень, и это еще один способ увидеть, что умножение симметрично относительно 1 и совпадает со сложением, симметричным относительно 0.

Но, возвращаясь к вашему вопросу, вы правы: когда вы используете позиционную систему записи для записи дроби, например

101.01

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

Вы можете представить альтернативные обозначения с "нейтральной точкой", отмеченной более симметричным образом, например 10{1}01, или с точкой или чертой под средней единицей, но я никогда не слышал о таком. (Это может напоминать способ обозначения гласных точками над согласными в арабских языках. В таблицах десятичные логарифмы, хотя это тоже другой зверь.)


Приложение: В комментариях вы спросили еще о нескольких примерах, хотя, боюсь, я не совсем уверен, о чем вы спрашиваете. Я бы отобразил эти примеры, используя нотацию nonce {}, и преобразовал бы их обратно в десятичную форму, например так:

                         2³  2²  2¹  2⁰  2⁻¹ 2⁻² 2⁻³
                         8   4   2   1   ½   ¼   ⅛

                                 0   0   0   1
   0b0.01  →   0{0}01  =         0 + 0 + 0 + ¼     =   ¼ =  0.25

                         1   1   0   1   1   0   1
0b1101.101 → 110{1}101 = 8 + 4 + 0 + 1 + ½ + 0 + ⅛ = 13⅝ = 13.625

                             1   0   1   0   1
 0b101.01  →  10{1}01  =     4 + 0 + 1 + 0 + ¼     =  5¼ =  5.25

                         8   4   2   1   ½   ¼   ⅛

Для меня это все очень регулярно и последовательно. Я выстроил вещи так, чтобы 2⁰ = 1 проходило прямо посередине, и это всегда место, которое будет заключено в {} в обозначении nonce.

Здравствуйте, сэр. Спасибо, что ответили на мой вопрос. Раньше я хотел кое-что спросить, кое-что хотел спросить, например, 0.25, что означает 0.01, наш взгляд такой, 0{0}1 или {0}01.

Kangkue 14.02.2023 07:20

И зависит ли срединная линия от того, сколько значения, например, 13.625 = 110{1}.101 в сумме 7 . (1 потому что он посередине).

Kangkue 14.02.2023 07:40

Или зависит от того, какое число является целым числом, например, «5,25 = 101,01», потому что 101 является целым числом, 10{1} становится центральной линией (поскольку любое число, возведенное в степень 0, становится 1).

Kangkue 14.02.2023 07:43

И, например, если на это влияет то, какое число является целым числом, например, 0.25 = 0.01, что означает {0}.01 = 1 (because 2^0) .25. непоследовательный

Kangkue 14.02.2023 07:43

@Kangkue Да, 0,25 будет {0}01 (или, возможно, для ясности 0{0}01) в более «сбалансированном» обозначении. В 110{1}101 нет 7, потому что для получения 7 вам понадобится 11{1}. Я не знаю, что вы подразумеваете под «какое число влияет на целое число», и я не вижу никакого несоответствия в ¼ = 0,25 = 0b0.01 → 0{0}01. См. дополнение к ответу, который я только что опубликовал.

Steve Summit 14.02.2023 12:09

Привет, сэр, спасибо за подробное объяснение, это действительно помогло мне, и извините, что потревожил ваше свободное время, чтобы ответить на мой вопрос.

Kangkue 14.02.2023 12:45

Извините, мой предыдущий вопрос смутил вас, я объясню . точка, как разделитель между целыми числами и дробями в качестве примера 5.25 = 101.01 ( . Разделитель между целыми числами и дробями), что означает ` 2³ 2² 2⁰ 2⁻¹ 2⁻² 1 0 1 . 0 1 ` Мой вопрос: почему 2⁰ включено в целое число? это потому, что если мы сложим их, результат будет 1

Kangkue 14.02.2023 13:11

@Kangkue Мы определяем дроби как «все, что меньше 1». Не «меньше или равно 1», а строго «меньше 1». 2⁰ равно 1, а 1 не меньше 1, значит 1 не дробь, а целое число. Я думаю, это столь же фундаментально.

Steve Summit 14.02.2023 13:11

KTT Спасибо, сэр, за ответы на вопросы, которые я задавал, и извините, если есть много предложений, которые трудно понять.

Kangkue 14.02.2023 13:14

Другие вопросы по теме