Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Простейшие вопросы в области инженерной разработки
Ответить
Nixon
interested
interested
Сообщения: 3
Зарегистрирован: 23 янв 2023, 19:00
Версия LabVIEW: 20
Контактная информация:

Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение Nixon »

Смысл программы в том что мы вводим десятичное число и оно переводится в двоичное, уходит в массив и активируются нужные светодиоды. Результат получается не корректным, ведь если ввести число 8, оно переводится как 0001, а правильно 1000. Нужно как то перевернуть результат математически, по идее там из числа интеграций вычитается индекс, но как это правильно записать и запихнуть в массив?
Вложения
2023-01-23_22-56-29.png
Лаба 2.vi
(8.67 КБ) 51 скачивание
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение Artem.spb »

Во-первых переводить dlb в двоичное представление вашим методом не совсем корректно.
Во-вторых, вы так самоуверенно делите число на 2 1000! раз. У вас там всего 64 бита. Откуда вы надеетесь откопать оставшиеся 936 знаков?

Ну и наконец,
Nixon писал(а): 23 янв 2023, 19:09 ведь если ввести число 8, оно переводится как 0001, а правильно 1000.
А кто вам сказал, что так не правильно?
младший-старший биты много лет усложняют жизнь программистам. Так что обе записи корректные.

B[j] = A[63-j]
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение jane_wild »

А чем Number To Boolean Array не устраивает?
Num To Boolean Array.PNG
Вложения
Лаба 2.vi
(8.32 КБ) 48 скачиваний
Nixon
interested
interested
Сообщения: 3
Зарегистрирован: 23 янв 2023, 19:00
Версия LabVIEW: 20
Контактная информация:

Re: Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение Nixon »

jane_wild писал(а): 23 янв 2023, 22:50 А чем Number To Boolean Array не устраивает?
Num To Boolean Array.PNG
тем что нужно перевернуть результат, а не массив,как бы последнее число встало на первое, первое на второе и тд.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение jane_wild »

Nixon писал(а): 24 янв 2023, 12:08 тем что нужно перевернуть результат
Каким образом вы хотите перевернуть результат? Если вы ввели число "2" какой по счету слева светодиодик должен гореть? Третий, седьмой или может пятнадцатый? (0010, 00000010, 0000000000000010) Я не совсем понимаю чего вы хотите добиться, но главное чтобы вы понимали. :D
Nixon
interested
interested
Сообщения: 3
Зарегистрирован: 23 янв 2023, 19:00
Версия LabVIEW: 20
Контактная информация:

Re: Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение Nixon »

Введенное число конвертится в двоичное, 2 это 10, 3 это 11, 4 100 и тд.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение jane_wild »

Nixon писал(а): 24 янв 2023, 17:38 Введенное число конвертится в двоичное, 2 это 10, 3 это 11, 4 100 и тд.
Ничего там не конвертируется, это просто число, которое может быть представлено в различном виде
View.PNG
View.PNG (7.7 КБ) 1512 просмотров
ujin1
adviser
adviser
Сообщения: 231
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 18 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Сделать ротацию массива не использую Rotate, Reverse или Sort 1D Array

Сообщение ujin1 »

Nixon писал(а): 24 янв 2023, 17:38 Введенное число конвертится в двоичное, 2 это 10, 3 это 11, 4 100 и тд.
В LabVIEW как и везде числа могут быть представлены в разных форматах.
LabVIEW data types.png
Исходная задача сделать ротацию массива не используя Rotate, Reverse или Sort 1D Array
Причем здесь разные представления чисел и зачем переводить число в двоичное непонятно.
Вас ограничили в использовании всего 3х функций. Есть другие.
Array func.png
Изображение
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»