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

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

Я пытаюсь вычислить двоичное число. Например, 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
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
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.010{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

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