Unsigned long

koba
Offline
Зарегистрирован: 22.05.2021

здравствуйте, помогите пожалуйста

unsigned long ss = 45789631

как достать допустим цифру 7 или 9



Как integer

просто хочу на SD карте создать файл

const String value = "qazwsxed";
String ttt = "";
 
String stringint =
    String(readcard[0] +
           readcard[1] +
           readcard[2] +
           readcard[3], DEC);
 
  unsigned long ss = pow((stringint.toInt() * 4), 2);
 
   for ( int i = 0; i < ss.length(); i++) {
   ttt += value[ ss[i] ];
  }

ну чтобы UID перевести в буквы, и у каждого зарегистрированного пользователя будет свой файл на SD карте

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017
koba
Offline
Зарегистрирован: 22.05.2021

и как мне  конкретное число v цикле дастат  :(

sadman41
Offline
Зарегистрирован: 19.10.2016

Определись - тебе цифру или число? 7, 9 или v?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

koba пишет:

и как мне  конкретное число v цикле дастат  :(

нахуа? ultoa(...)  как раз и переводит весь UID во все буквы. 

koba
Offline
Зарегистрирован: 22.05.2021

это конкретное число будет соответствовать переменной valu

например из переменной ss 7 vazmiot  с переменной  value букву d

koba
Offline
Зарегистрирован: 22.05.2021

DetSimen пишет:

koba пишет:

и как мне  конкретное число v цикле дастат  :(

нахуа? ultoa(...)  как раз и переводит весь UID во все буквы. 

конечные результатом должны быть из uid должен палучить буквы и не больше 8 символов

этот  8 символов и будет имя файла

sadman41
Offline
Зарегистрирован: 19.10.2016

Кто кому должен - никак не пойму. Вам подсказали, как из числа получить массив символов-цифр. Из него по индексу и выуживайте хоть 7, хоть икс-квадрат.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

koba пишет:

это конкретное число будет соответствовать переменной valu

например из переменной ss 7 vazmiot  с переменной  value букву d

Чота мне вдруг тоже такой травы захотелось...

koba
Offline
Зарегистрирован: 22.05.2021

конечные результатом должны быть. из uid должен палучить буквы и не больше 8 символов

что тут непонятного :(

sadman41
Offline
Зарегистрирован: 19.10.2016

Дак получи, епрст, если должен.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

DetSimen пишет:

Чота мне вдруг тоже такой травы захотелось...

Купил в Перекрестке вот такую водоффку сёння.Не смог проигнорировать явно позитивный сигнал "с небес" ;)))))

Есть вариант, что к вечеру смогу поговорить с воробьём (или что там на картинке)

koba
Offline
Зарегистрирован: 22.05.2021

kak ????????????

пример если можна

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

koba пишет:

что тут непонятного :(

так и я говорю, если unsigned lond переведешь в текст как HEX, получишь как раз 8 символов.  Если в этой строке есть что-то непонятное - начни с мигания светлодиодиком. 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

koba пишет:

kak ????????????

бросай всё это нах.  Лучше купи то, что граф посоветовал, с воробьями разговаривать проще. 

sadman41
Offline
Зарегистрирован: 19.10.2016

ultoa делает что нужно, что тут непонятного? Примеров в гугле валом.

koba
Offline
Зарегистрирован: 22.05.2021

если бы вам сказали что из UID получить буквы и не больше 8 символов,

как бы вы это сделали

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

использовал бы ultoa(...);

koba
Offline
Зарегистрирован: 22.05.2021

DetSimen пишет:

использовал бы ultoa(...);

пример если можна

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

koba пишет:

kak ????????????

пример если можна

#include <stdlib.h>
void setup() {
  Serial.begin(115200);
}

void loop() {
  unsigned long ulN = 0;
  char ss[16];

  if (Serial.available()) {
    ulN = Serial.parseInt();
    while (Serial.available()) Serial.read();
    ultoa (ulN, ss, 16);
    Serial.println(ss);
  }
}

 

b707
Offline
Зарегистрирован: 26.05.2017

Измором решил брать? Или правда такой тупой? Команду тебе подсказали - а за примерами в гугль

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

wdrakula пишет:

koba пишет:

kak ????????????

пример если можна

#include <stdlib.h>
void setup() {
  Serial.begin(115200);
}

void loop() {
  unsigned long ulN = 0;
  char ss[16];

  if (Serial.available()) {
    ulN = Serial.parseInt();
    while (Serial.available()) Serial.read();
    ultoa (ulN, ss, 16);
    Serial.println(ss);
  }
}

 

Ты настока наивен, что думаешь он тут поймёт чонить?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

DetSimen пишет:

Ты настока наивен, что думаешь он тут поймёт чонить?

Мне, если честно, пох. ;)) У меня Шаббат, мне нужно быть добрым, любить людей и Б..га и "карму прополоскать" ;)))))

koba
Offline
Зарегистрирован: 22.05.2021

v Serial отправляю uid карты  43 94 50 39 , B3 B2 4F 39  два варианта

1: в ответ получаю
2b
5e
32
27
 
2: в ответ получаю
3
2
4
27

и где здесь буквы ?

sadman41
Offline
Зарегистрирован: 19.10.2016

Откуда в числах буквам быть?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

koba пишет:

v Serial отправляю uid карты  43 94 50 39 , B3 B2 4F 39  два варианта

1: в ответ получаю
2b
5e
32
27
 
2: в ответ получаю
3
2
4
27

и где здесь буквы ?

Родное сердце! Ты только честно скажи, права у тебя есть? Ну или лицензия на оружие? Ты прости, я не уверен, что ты психиатра  прошел нормально, беспокоюсь, переживаю сильно.

koba
Offline
Зарегистрирован: 22.05.2021

sadman41 пишет:
Откуда в числах буквам быть?

здравствуйте, помогите пожалуйста

1 unsigned long ss = 45789631

как достать допустим цифру 7 или 9





Как integer

просто хочу на SD карте создать файл

01 const String value = "qazwsxed";
02 String ttt = "";
03  
04 String stringint =
05     String(readcard[0] +
06            readcard[1] +
07            readcard[2] +
08            readcard[3], DEC);
09  
10   unsigned long ss = pow((stringint.toInt() * 4), 2);
11  
12    for int i = 0; i < ss.length(); i++) {
13    ttt += value[ ss[i] ];
14   }

ну чтобы UID перевести в буквы, и у каждого зарегистрированного пользователя будет свой файл на SD карте

ss = 9461776

value = "qazwsxedcr"

если бы вот так пройти в цикле

ttt += value[ ss[i] ];

to результатом должен быть :  rseadde

вот я хочу этого добиться.

проблема в том что из ss не могу по отдельности взять 9 или 4 или 6 .....

koba
Offline
Зарегистрирован: 22.05.2021

надеюсь теперь понятно.

так что ваш примеры здесь в общем  неуместен ,

к сожалению :(

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

koba пишет:

проблема в том что из ss не могу по отдельности взять 9 или 4 или 6 .....

Ох... тяжело жить тебе, наверно. Тупым сразу родился, или таблетки пил какие-то?

Если ss == "4567", то ss[0] == '4', а число 4 получается, если сделать так: ss[0] -  '0';

Кавычки - обязательно одинарные.

Чую мне памятник за терпение полагаиццо! Или водоффки и деффку сисястую (пока жена не видит).

#include <stdlib.h>
void setup() {
  Serial.begin(115200);
}

char value[] = "qazwsxedcr";

void loop() {
  unsigned long ulN = 0;
  char ss[16];

  if (Serial.available()) {
    ulN = Serial.parseInt();
    while (Serial.available()) Serial.read();
    ultoa (ulN, ss, 10);
    for (byte i = 0; ss[i]; i++) ss[i] = value[ss[i] - '0'];
    ss[9] = 0;
    Serial.println(ss);
  }
}

И не тупи - вводи длинные числа без пробелов.

 

koba
Offline
Зарегистрирован: 22.05.2021

wdrakula пишет:

koba пишет:

проблема в том что из ss не могу по отдельности взять 9 или 4 или 6 .....

Ох... тяжело жить тебе, наверно. Тупым сразу родился, или таблетки пил какие-то?

Если ss == "4567", то ss[0] == '4', а число 4 получается, если сделать так: ss[0] -  '0';

Кавычки - обязательно одинарные.

Чую мне памятник за терпение полагаиццо! Или водоффки и деффку сисястую (пока жена не видит).

#include <stdlib.h>
void setup() {
  Serial.begin(115200);
}

char value[] = "qazwsxedcr";

void loop() {
  unsigned long ulN = 0;
  char ss[16];

  if (Serial.available()) {
    ulN = Serial.parseInt();
    while (Serial.available()) Serial.read();
    ultoa (ulN, ss, 10);
    for (byte i = 0; ss[i]; i++) ss[i] = value[ss[i] - '0'];
    ss[9] = 0;
    Serial.println(ss);
  }
}

И не тупи - вводи длинные числа без пробелов.

 

а по вашему я так не пробовал no ne компилируется ошибка:

invalid types 'long unsigned int[int]' for array subscript
 
wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

koba пишет:

wdrakula пишет:

koba пишет:

проблема в том что из ss не могу по отдельности взять 9 или 4 или 6 .....

Ох... тяжело жить тебе, наверно. Тупым сразу родился, или таблетки пил какие-то?

Если ss == "4567", то ss[0] == '4', а число 4 получается, если сделать так: ss[0] -  '0';

Кавычки - обязательно одинарные.

Чую мне памятник за терпение полагаиццо! Или водоффки и деффку сисястую (пока жена не видит).

#include <stdlib.h>
void setup() {
  Serial.begin(115200);
}

char value[] = "qazwsxedcr";

void loop() {
  unsigned long ulN = 0;
  char ss[16];

  if (Serial.available()) {
    ulN = Serial.parseInt();
    while (Serial.available()) Serial.read();
    ultoa (ulN, ss, 10);
    for (byte i = 0; ss[i]; i++) ss[i] = value[ss[i] - '0'];
    ss[9] = 0;
    Serial.println(ss);
  }
}

И не тупи - вводи длинные числа без пробелов.

 

а по вашему я так не пробовал no ne компилируется ошибка:

invalid types 'long unsigned int[int]' for array subscript
 

ты вот то, что в последнем сообщении без изменений запусти ;))) Я же запускаю всегда всё, что другим советую, даже такую фигню. Если у тебя ошибка - то ты не аккуратно скопировал.

koba
Offline
Зарегистрирован: 22.05.2021

:(

koba
Offline
Зарегистрирован: 22.05.2021

ошибка на 29 строке

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

За каким хером мне нужен твой код? Я должен его править??? Я тебе написал работающий пример того, что ты просил. Ты уж сам его себе вставь, куда нужно... ок?

Нахальства поменьше. При таких знаниях, если бы не Шаббат, ты полетел бы в коммерческий раздел, заказывать код за деньги.

koba
Offline
Зарегистрирован: 22.05.2021

wdrakula пишет:

За каким хером мне нужен твой код? Я должен его править??? Я тебе написал работающий пример того, что ты просил. Ты уж сам его себе вставь, куда нужно... ок?

Нахальства поменьше. При таких знаниях, если бы не Шаббат, ты полетел бы в коммерческий раздел, заказывать код за деньги.

вроде работает :)

спасибо за внимание.

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

На кой хрен такое извращение только не понятно. Чем ограничение в 8 символов вызвано? Использовать полный uid для идентификации юзера самое то, ведь часть uid может и совпадать у разных юзеров. 

sadman41
Offline
Зарегистрирован: 19.10.2016

А у него там FAT c 8.3 ))

koba
Offline
Зарегистрирован: 22.05.2021

BOOM пишет:

На кой хрен такое извращение только не понятно. Чем ограничение в 8 символов вызвано? Использовать полный uid для идентификации юзера самое то, ведь часть uid может и совпадать у разных юзеров. 

ограничение в 8 символов вызвано тем что на SD карте созданный файл

ограничен в 8 символов и толка буквы.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

koba пишет:

ограничение в 8 символов вызвано тем что на SD карте созданный файл

ограничен в 8 символов и толка буквы.

А можно полюбопытствовать, какая файловая система используется на SD?

Ну и заодно, для проверки, приведите объем карты.

koba
Offline
Зарегистрирован: 22.05.2021

Fat 32  до 4gb 

koba
Offline
Зарегистрирован: 22.05.2021

и у каждого зарегистрированного пользователя будет свой файл на SD карте.

 

koba
Offline
Зарегистрирован: 22.05.2021

a uid карты прямо не перевожу в букви,

сначала 

String stringint =
    String(readcard[0] +
           readcard[1] +
           readcard[2] +
           readcard[3], DEC);

  unsigned long ulN = pow((stringint.toInt() * 5), 2);

а потом уже пользуюсь кодом  "wdrakula"

если кто то захочет узнать какой файл какому пользователю принадлежит то вряд ли uзнают

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Тваюшдивизию (как говаривал наш приятель Ворота)!

wdrakula пишет:
если бы не Шаббат, ты полетел бы ...

Не наезжай на ТС, у него всё ещё впереди. Помнишь, как А.А. Зиновьев говорил: «Глупости надо обучаться так же, как уму. Очень высокой степени глупости люди достигают лишь в течение длительной жизни и большого числа тренировок. Современно аналогично обстоит дело с такими качествами, как цинизм, подлость, хитрость, изворотливость, склочность и т.п.» («Зияющие высоты»)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

koba пишет:

Fat 32  до 4gb 

Нет в fat32 ограничения на имя в 8 символов.

А ограничения "только буквы" нет даже в fat12-fat16.

koba
Offline
Зарегистрирован: 22.05.2021

andriano пишет:

koba пишет:

Fat 32  до 4gb 

Нет в fat32 ограничения на имя в 8 символов.

А ограничения "только буквы" нет даже в fat12-fat16.

 да и толка буквы.

koba
Offline
Зарегистрирован: 22.05.2021

koba пишет:

andriano пишет:

koba пишет:

Fat 32  до 4gb 

Нет в fat32 ограничения на имя в 8 символов.

А ограничения "только буквы" нет даже в fat12-fat16.

 на ютубе все так говорят

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

koba пишет:

andriano пишет:

А ограничения "только буквы" нет даже в fat12-fat16.

 да и толка буквы.

Если Вы хотите, чтобы Вас понимали, пишите по-русски.

koba
Offline
Зарегистрирован: 22.05.2021

ЕвгенийП пишет:

Тваюшдивизию (как говаривал наш приятель Ворота)!

wdrakula пишет:
если бы не Шаббат, ты полетел бы ...

Не наезжай на ТС, у него всё ещё впереди. Помнишь, как А.А. Зиновьев говорил: «Глупости надо обучаться так же, как уму. Очень высокой степени глупости люди достигают лишь в течение длительной жизни и большого числа тренировок. Современно аналогично обстоит дело с такими качествами, как цинизм, подлость, хитрость, изворотливость, склочность и т.п.» («Зияющие высоты»)

и это все kakoe отношения имеет ко мне

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Коллеги. Отсутствие знаний по предмету это одно. Но цепляться к русскому, когда видно, что для ТС он не родной, это уже пахнет шовинизмом. Не надо так делать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

koba пишет:

и это все kakoe отношения имеет ко мне

Ниkakoго. Я там прямо обратился к wdrakula - это было ему сказано.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Koba, мало что на ютубе говорят. Ты сам пробовал имена файлов задавать больше 8? Цифрами файл именовать? Пробовал или нет? Если не пробовал - попробуй. У фат32 нет описанных тобой ограничений.