почитайте ж наконец учебник-то! Ну чего дебилом-то себя выставлять? Самому не противно?
про учебник написал выше. А вот на счет дебила - это с вашей стороны оно возможно так и выглядит, а с моей, я уже добился огромных успехов, и за очень небольшой промежуток времени))
если вы реально пытаетесь учиться - вот вам домашнее задание - разобраться самому и потом обьяснить в ветке разницу между этими двумя условиями
if (Time.minutes==49 ||10||15)
if (Time.minutes==49 || Time.minutes==10 || Time.minutes==15)
тут все просто в первом варианте просим получить показания 1 раз и сравнить их с цифрами 49, 10,15. но за то время пока он сравнивает и показания меняются и вообще это так не работает.
а во втором варианте он на каждую цифру запрашивает показания по очереди, и когда оно оказывается правдой начинает выполнять программу дальше.
Ну, это если книшку по слогам читать, шевеля губами и неспешно водя бородавчатым пальцем по затёртым до дыр страницам. А если еще примеры не разбирать - можно и не открывать мудрый фолиант, не поможет.
вопрос по сайту - по чему нет функции "поиска по форуму" ? в нужном мне разделе форума 330+ страниц. глаза устали ужо читать названия.
Возможно от части однообразных вопросов удалось бы избавится, если бы проще было найти уже "перемолотую" интересующую "тебя" тему...
Тут , конечно , уже все убедились в тупости и неадекватности отдельно взятых граждан.
Но зачем вам ещё и поиск по форуму ? Гугла не хватает ?
Запрос + адрес сайта в помощь, будет там искать, где укажут.
И да, поиск есть.
Смотреть в верхний правый угол страницы
если вы реально пытаетесь учиться - вот вам домашнее задание - разобраться самому и потом обьяснить в ветке разницу между этими двумя условиями
if (Time.minutes==49 ||10||15)
if (Time.minutes==49 || Time.minutes==10 || Time.minutes==15)
попытка №2. логический оператор "или" сравнивает два аргумента, находищихся с лева и справа от себя, и если хоть один из них истина то возвращает управляющему оператору "if" значение истины, если оба ложны, то возвращает значение false. в первом случае аргумент находится только слева, а справа просто цифра(возможно бывают случаи когда цифра будет являться аргументом для оператора "или", но я что-то не придумал такого, и уж точно это не тот случай). Во втором и справа и слева аргументы, так как "Time.minutes" является командой для запроса цифры с модуля затем оператор "==" сравнивает их и если есть совпадения , то возвращает значение true оператору "или" итд. по цепочке .
при каких значениях Time.minutes "сработает" первое условие - и при каких второе. И почему.
первое при значении 49.
второе 49, 10 , и 15.
по тому, что в первом условии только первый оператор "или" сравнивает изменяющееся значение Time.minutes с значением 49, а в остальных случаях цифру с цифрой, так как эти значения ни что не меняет, они никогда не будут истиной.
Пацказка, в Си логический тип это int, для которого false это ноль и true всё что не ноль.
сначала я подумал - ну *** приехали. потом взял листочек с ручкой и выписал это "грЁбанное" условие.
и тут до меня дошло "или" возвращает истину когда один из аргументов истина, а если цифра - просто цифра без каких либо условий так "или" и возвращает истину... по этому условие для if выполняется всегда!
и тут до меня дошло "или" возвращает истину когда один из аргументов истина, а если цифра - просто цифра без каких либо условий так "или" и возвращает истину... по этому условие для if выполняется всегда!
БИНГАБ-ТЬ!!! 2 нужных нейрона у тебя уже сцепились. Продолжай.
ладно , одно выяснили. Но вопросы не закончились. подключаю RTC DS1302 к arduino Pro mini которую в свою очередь к UNO через RX, TX.
UNO к компуктеру.
вешаю выводы RTC_DS1302,A4,A6,A5); //назначение пинов обмена данными RST, CLK, DAT
и загружаю скетч (он врятли нужен тут но на всякий)
#include <Servo.h>
#include <iarduino_RTC.h>
iarduino_RTC Time (RTC_DS1302,A4,A6,A5); //назначение пинов обмена данными RST, CLK, DAT
Servo servo; //имя сервопривода
int pos = 0; //переменная хранящая угол поворота сервопривода
unsigned long TimeWork; //переменная хранящая время включения сервопривода
const char LED = 2; //номер пина светодиода(стадия разработки)
unsigned long r; //переменная хранящая время прошедшее с момента вывода даты и времени с RTC в порт
boolean qr = true; //переменная меняющая значение в момент включения и выключения сервопривода(служит для ограничения срабатывания по времени с RTC до одного раза за секунду)
void setup(){
delay(300); //время на подумать
Time.begin(); //инициализация работы часов
servo.attach(A3); //назначение пина управления сервоприводом
Serial.begin(9600); //инициализация порта
Time.settime(35,11,15,06,02,2020,4); // 0 сек, 51 мин, 21 час, 27, октября, 2015 года, вторник
pinMode(LED, OUTPUT); //назначение пина светодиода выходом (индикация работы)
r = millis();
pinMode(4,INPUT_PULLUP);
// servoOpen(); //выполнить функцию для изначального позицианирования
// servoToClose(); //выполнить функцию для изначального позицианирования
}
void loop(){
boolean additional = !digitalRead(4);
if (additional==HIGH){
qr=false;
digitalWrite(LED,HIGH);
TimeWork=millis();
servoOpen();
// Serial.println("BKЛ");
}
if( millis()-r>=1000ul){ //оператор для настройки(выполнять раз в секунду)
Serial.println (Time.gettime("H:i:s")); //выводить в серийный порт значения Час:Мин:Сек
r=millis(); //присвоить переменной значение millis
}
if (qr==true&&Time.Hours==7&&Time.minutes==00&&Time.seconds==10){ // если переменная qr имеет значение true и время 15:28:30 то
qr=false; //присвоить переменной значение false
TimeWork=millis(); //присвоить переменной значение millis
digitalWrite(LED,HIGH); //включить светодиод
servoOpen(); //выполнить функцию
// Serial.println("BKЛ"); //вывести в серийный порт надпись ВКЛ (стадия настройки, отладки)
}
if (qr==true&&Time.Hours==18&&Time.minutes==00&&Time.seconds==10){ //если переменная qr имеет значение true и время 15:28:10 то
qr=false; //присвоить переменной значение false
TimeWork=millis(); //присвоить переменной значение millis
digitalWrite(LED,HIGH); //включить светодиод
servoOpen(); //выполнить функцию
// Serial.println("BKЛ"); //вывести в серийный порт надпись ВКЛ (стадия настройки, отладки)
}
if (millis()-TimeWork>=5000ul&&qr==false){ //если переменная qr имеет значение false, а с момента присвоения переменной TimeWork значения millis прошло 5 сек то
qr=true; //присвоить переменной значение true
digitalWrite(LED,LOW); //вsключить светодиод
servoToClose(); //выполнить функцию
// Serial.println("BыKл"); //вывести в серийный порт надпись ВыКл (стадия настройки, отладки)
}
}
void servoOpen(){ //создать функцию
for (pos = 90; pos >= 0; pos -= 1) { //оператор:если переменная pos ровна нулю то: это меньше или ровно 90?: если да то прибавить к значению переменной pos единицу и выполнить функцию
servo.write(pos); //повернуть вал сервопривода на градус равный значению переменной pos
delay(10); //перерыв в работе 0.005сек
}
}
void servoToClose(){ //создать функцию
for (pos = 0; pos <= 90; pos += 1){ //оператор:если переменная pos ровна 90 то: это больше или ровно 0?: если да то отнять от значения переменной pos единицу и выполнить функцию
servo.write(pos); //повернуть вал сервопривода на градус равный значению переменной pos
delay(10); //перерыв в работе 0.005сек
}
}
скетч загружается без проблем, но в серийный порт вместо времени идут одни нули 00:00:00 (за то как и положено раз в секунду)
может ли это быть из за того, что на плате UNO нет пина "A6" а на Pro mini я его использую как "CLK"?
может ли это быть из за того, что на плате UNO нет пина "A6" а на Pro mini я его использую как "CLK"?
судя по этой фразе, вы точно мыслите не алгоритмами... Вчитайтесь сами - "может ли схема на Про мини не работать из-за того, что на плате Уно нет пина А6" ??
Хотя человеку с ассоциативной гуманитарной логикой все понятно :)
может ли это быть из за того, что на плате UNO нет пина "A6" а на Pro mini я его использую как "CLK"?
судя по этой фразе, вы точно мыслите не алгоритмами... Вчитайтесь сами - "может ли схема на Про мини не работать из-за того, что на плате Уно нет пина А6" ??
Хотя человеку с ассоциативной гуманитарной логикой все понятно :)
я тоже так подумал, просто последнее время стал сомневаться в своих умозаключениях
Здравствуйте товарищи! залип в книге на системах счисления. пробовал пропустить этот раздел но дальше без его понимания вообще ни чего не понятно.
Если бы наша вычислительная система была заимствована у собак, то она бы была
восьмеричной (еше один "разряд", находящийся на задней части каждой лапы, не
учитывается). Эта система счисления работала бы не менее хорошо:
123(основание 10) = 1 * 8(в степени 2) + 2 * 8(в степени 1) + 3 * 8(в степени 0) = 173(основание 8)
Индексы 10 и 8 указывают систему счисления:10 — десятичная. 8 — восьмеричная.
Основанием системы счисления может быть любое положительное число.
цифры в тексте книги отображены плохо, (сканер видимо и редактор который переводил отсканированное изображение в текст постарались) по этому кое какие цифры по собственной логике менял. вот оригинал:https://www.litmir.me/BookFileDownloadLink/?id=220715&inline=1 стр.№48.
считаю: 1*64 +2*8+3*1= 64+16+8 = 88
если двойку заменить на семерку как в примере, то получится : 1*64+7*8+3*1=123. но, тогда не понятно откуда
взялась эта 7 и почему ответ 173 а не 123... и вообще, нам же перевести нужно, а значит результат должен отличатся от начального числа
вот. смотрел как переводят с системы в систему в других местах, но те способы от приведенного в книге разительно отличаются.
P.S. помогите кто чем может... пожалуйста
(самое время сказать что я взял не ту книгу и вообще тупой XD)
Ппц , маразм крепчал...
За все время работы с ардуино, НИ РАЗУ мне не понадобились восмеричные числа.
Несколько раз понадобилась хз какая система специально для часов придуманная, даже название не помню.
Но этому то чайнику зачем нужны эти системы счисления ?
ответ прост - для понимания дальнейших примеров приводимых в книге "С++ для чайников"
Возьми книгу поновее.
8-ричное счисление уже давно практически повсеместно заменено на 16-ричное.
Вряд ли тебе оно понадобится.
Лучше типы данных разбери от и до.
Имхо это основное, не понимая этого изначально в дальнейшем возникнут неразрешимые трудности
А скажи мне, мил человек - ты всегда применяешь правила сложения/умножения в десятеричной системе к правилам сложения/умножения в другой системе? Я тебе больше скажу: в восьмеричной системе счисления - нет цифры 8, там только цифры [0,7].
К тому же - тут ошибка у тебя, надо не 64+16+8, а 64+16+3.
прошу Вас посмотреть код и сделать какие нибудь замечания по поводу использования одной кнопки для двух действий:
#include <Servo.h>
#include <iarduino_RTC.h>
iarduino_RTC Time (RTC_DS1302, A0, A2, A1); //назначение пинов обмена данными RST, CLK, DAT
Servo servo; //имя сервопривода
int pos = 0; //переменная хранящая угол поворота сервопривода
unsigned long TimeWork; //переменная хранящая время включения сервопривода
const char LED = A3; //номер пина светодиода(стадия разработки)
unsigned long r; //переменная хранящая время прошедшее с момента вывода даты и времени с RTC в порт
boolean qr = true; //переменная меняющая значение в момент включения и выключения сервопривода(служит для ограничения срабатывания по времени с RTC до одного раза за секунду)
boolean QR = true;
byte c = 0;
int i=1;
unsigned long TimeWait;
int W=1;
void setup() {
delay(300); //время на подумать
Time.begin(); //инициализация работы часов
servo.attach(A4); //назначение пина управления сервоприводом
Serial.begin(9600); //инициализация порта
//Time.settime(35,41,16,18,02,2020,2); // 0 сек, 51 мин, 21 час, 27, октября, 2015 года, вторник
pinMode(LED, OUTPUT); //назначение пина светодиода выходом (индикация работы)
r = millis();
pinMode(A5, INPUT_PULLUP);
}
void loop() {
boolean additional = !digitalRead(A5);
if(i==1&&additional==HIGH){
c++;
TimeWait = millis();
i=0;
TimeWork = millis();
if(c>=2){
c=2;
}
delay(20);
}
if (additional==LOW){
i=1;
delay(20);
}
if(millis()-TimeWait>=1200&&c!=0){
if(W==1){
digitalWrite(LED, HIGH);
servoOpen();
QR = false;
W = 0;
}
switch (c){
case 1:
if (millis() - TimeWork >= 7850ul && QR == false) {
QR = true;
digitalWrite(LED, LOW);
servoToClose();
c=0;
TimeWait=0;
W=1;
}
break;
case 2:
if (millis() - TimeWork >= 4425ul && QR == false) {
QR = true;
digitalWrite(LED, LOW);
servoToClose();
c=0;
TimeWait=0;
W=1;
}
break;
default:
TimeWait=0;
c=0;
}
}
// if ( millis() - r >= 1000ul) { //оператор для настройки(выполнять раз в секунду)
// Serial.println (Time.gettime("H:i:s")); //выводить в серийный порт значения Час:Мин:Сек
// r = millis(); //присвоить переменной значение millis
// }
if (qr == true && Time.Hours == 7 && Time.minutes == 00 && Time.seconds == 10) { // если переменная qr имеет значение true и время 15:28:30 то
qr = false; //присвоить переменной значение false
TimeWork = millis(); //присвоить переменной значение millis
digitalWrite(LED, HIGH); //включить светодиод
servoOpen(); //выполнить функцию
}
if (qr == true && Time.Hours == 18 && Time.minutes == 00 && Time.seconds == 10) { //если переменная qr имеет значение true и время 15:28:10 то
qr = false; //присвоить переменной значение false
TimeWork = millis(); //присвоить переменной значение millis
digitalWrite(LED, HIGH); //включить светодиод
servoOpen(); //выполнить функцию
// Serial.println("BKЛ"); //вывести в серийный порт надпись ВКЛ (стадия настройки, отладки)
}
if (millis() - TimeWork >= 6850ul && qr == false) { //если переменная qr имеет значение false, а с момента присвоения переменной TimeWork значения millis прошло 5 сек то
qr = true; //присвоить переменной значение true
digitalWrite(LED, LOW); //вsключить светодиод
servoToClose(); //выполнить функцию
// Serial.println("BыKл"); //вывести в серийный порт надпись ВыКл (стадия настройки, отладки)
}
}
void servoOpen() { //создать функцию
for (pos = 90; pos >= 0; pos -= 1) { //оператор:если переменная pos ровна 90 то: это больше или ровно 0?: если да то отнять от значения переменной pos единицу и выполнить функцию
servo.write(pos); //повернуть вал сервопривода на градус равный значению переменной pos
delay(10); //перерыв в работе 0.005сек
}
}
void servoToClose() { //создать функцию
for (pos = 0; pos <= 90; pos += 1) { //оператор:если переменная pos ровна нулю то: это меньше или ровно 90?: если да то прибавить к значению переменной pos единицу и выполнить функцию
servo.write(pos); //повернуть вал сервопривода на градус равный значению переменной pos
delay(10); //перерыв в работе 0.005сек
}
servoDo();
}
void servoDo(){
for (pos = 90; pos >= 88; pos -= 1) {
servo.write(pos);
delay(10);
}
}
но это так тоже не работает))
Сцуко, я вот лично уже месяц Вам талдычу - Ну, мля, почитайте ж наконец учебник-то! Ну чего дебилом-то себя выставлять? Самому не противно?
но это так тоже не работает))
Сцуко, я вот лично уже месяц Вам талдычу - Ну, мля, почитайте ж наконец учебник-то! Ну чего дебилом-то себя выставлять? Самому не противно?
а зачем? ...у него для этой самой штуки есть своя законная жена...он выше жеж озвучил )))
Когда вы учебник начнете читать? - полтора месяца прошло - а вы все спрашиваете, с чего начать... Начните уже с чего-нибудь
за эти полтора месяца я один учебник уже прочитал, и сейчас выбираю второй.
почитайте ж наконец учебник-то! Ну чего дебилом-то себя выставлять? Самому не противно?
про учебник написал выше. А вот на счет дебила - это с вашей стороны оно возможно так и выглядит, а с моей, я уже добился огромных успехов, и за очень небольшой промежуток времени))
за эти полтора месяца я один учебник уже прочитал, и сейчас выбираю второй.
судя по успехам в конфе, первый был учебник по плетению макраме. Ждем выбора второго...
если вы реально пытаетесь учиться - вот вам домашнее задание - разобраться самому и потом обьяснить в ветке разницу между этими двумя условиями
если вы реально пытаетесь учиться - вот вам домашнее задание - разобраться самому и потом обьяснить в ветке разницу между этими двумя условиями
тут все просто в первом варианте просим получить показания 1 раз и сравнить их с цифрами 49, 10,15. но за то время пока он сравнивает и показания меняются и вообще это так не работает.
а во втором варианте он на каждую цифру запрашивает показания по очереди, и когда оно оказывается правдой начинает выполнять программу дальше.
как то так мне думается.
и вообще это так не работает.
вот это мне и стало интересно, почему точно. А пока только предположения)) разберемСи))
в первом варианте просим получить показания 1 раз и сравнить их с цифрами 49, 10,15
неправильно, ищите в учебнике правильный ответ
https://habr.com/ru/post/464075/
в первом варианте просим получить показания 1 раз и сравнить их с цифрами 49, 10,15. но за то время пока он сравнивает и показания меняются
Идиотизм №1
во втором варианте он на каждую цифру запрашивает показания по очереди,
Идиотизм №2
как то так мне думается.
Я сдаюсь и с позором удаляюсь. Не читайте ничего. Думайте и угадывайте, но уже без меня :(
в первом варианте просим получить показания 1 раз и сравнить их с цифрами 49, 10,15. но за то время пока он сравнивает и показания меняются
Идиотизм №1
во втором варианте он на каждую цифру запрашивает показания по очереди,
Идиотизм №2
как то так мне думается.
Я сдаюсь и с позором удаляюсь. Не читайте ничего. Думайте и угадывайте, но уже без меня :(
Не все так быстро и просто, Евгений Петрович, как Вам бы того хотелось.
Не все так быстро и просто
Ну, это если книшку по слогам читать, шевеля губами и неспешно водя бородавчатым пальцем по затёртым до дыр страницам. А если еще примеры не разбирать - можно и не открывать мудрый фолиант, не поможет.
вот вам домашнее задание
я на пути к выполнению))
вопрос по сайту - по чему нет функции "поиска по форуму" ? в нужном мне разделе форума 330+ страниц. глаза устали ужо читать названия.
Возможно от части однообразных вопросов удалось бы избавится, если бы проще было найти уже "перемолотую" интересующую "тебя" тему...
вот вам домашнее задание
я на пути к выполнению))
вопрос по сайту - по чему нет функции "поиска по форуму" ? в нужном мне разделе форума 330+ страниц. глаза устали ужо читать названия.
Возможно от части однообразных вопросов удалось бы избавится, если бы проще было найти уже "перемолотую" интересующую "тебя" тему...
Тут , конечно , уже все убедились в тупости и неадекватности отдельно взятых граждан.
Но зачем вам ещё и поиск по форуму ? Гугла не хватает ?
Запрос + адрес сайта в помощь, будет там искать, где укажут.
И да, поиск есть.
Смотреть в верхний правый угол страницы
там как раз гугловый поиск, а не по сайту. а в гугле "экспертов" ну очень много. мне интересно что говорят конкретно на этом сайте.
там как раз гугловый поиск, а не по сайту. а в гугле "экспертов" ну очень много. мне интересно что говорят конкретно на этом сайте.
а вы попробуйте сначала
а вы попробуйте сначала
понял. в прочем я как всегда...
спасибо
понял. в прочем я как всегда...
на двенадцатый день пути находчивый Чингачгук обнаружил, что забыл сесть на лошадь, а седло несет в руках...
на двенадцатой странице своей темы Posol88 обнаружил поиск на сайте...
если вы реально пытаетесь учиться - вот вам домашнее задание - разобраться самому и потом обьяснить в ветке разницу между этими двумя условиями
попытка №2. логический оператор "или" сравнивает два аргумента, находищихся с лева и справа от себя, и если хоть один из них истина то возвращает управляющему оператору "if" значение истины, если оба ложны, то возвращает значение false. в первом случае аргумент находится только слева, а справа просто цифра(возможно бывают случаи когда цифра будет являться аргументом для оператора "или", но я что-то не придумал такого, и уж точно это не тот случай). Во втором и справа и слева аргументы, так как "Time.minutes" является командой для запроса цифры с модуля затем оператор "==" сравнивает их и если есть совпадения , то возвращает значение true оператору "или" итд. по цепочке .
очень слабые проблески видны, но пока очень далеко от реального понимания.
Да, цифра является точно таким же аргументом для логических операций. как и выражение Time.minutes == 0. Копайте в эту сторону, выход там.
напомню, что решением задания будет являтся четкий ответ, при каких значениях Time.minutes "сработает" первое условие - и при каких второе. И почему.
Пока же вместо ответа я читаю какое-то маловнятное бормотание..
при каких значениях Time.minutes "сработает" первое условие - и при каких второе. И почему.
первое при значении 49.
второе 49, 10 , и 15.
по тому, что в первом условии только первый оператор "или" сравнивает изменяющееся значение Time.minutes с значением 49, а в остальных случаях цифру с цифрой, так как эти значения ни что не меняет, они никогда не будут истиной.
первое при значении 49.
Первое сработает всегда, сколько бы минут ни было. Ответь на вопрос теперь: Почему?
Пацказка, в Си логический тип это int, для которого false это ноль и true всё что не ноль.
Первое сработает всегда, сколько бы минут ни было. Ответь на вопрос теперь: Почему?
ну вот :( - испортил всю вечеринку :)
Пацказка, в Си логический тип это int, для которого false это ноль и true всё что не ноль.
сначала я подумал - ну *** приехали. потом взял листочек с ручкой и выписал это "грЁбанное" условие.
и тут до меня дошло "или" возвращает истину когда один из аргументов истина, а если цифра - просто цифра без каких либо условий так "или" и возвращает истину... по этому условие для if выполняется всегда!
да.............
Коту сегодня Пурину не выдавать.
и тут до меня дошло "или" возвращает истину когда один из аргументов истина, а если цифра - просто цифра без каких либо условий так "или" и возвращает истину... по этому условие для if выполняется всегда!
БИНГАБ-ТЬ!!! 2 нужных нейрона у тебя уже сцепились. Продолжай.
Коту сегодня Пурину не выдавать.
Чойта?
я бы сам до скончания веков думал... что бы такое понять нужно мыслить по другому... а это по ходу годами вырабатывается
не, все равно круто... :-)
Коту сегодня Пурину не выдавать.
Чойта?
А зачем в тапки b707 ссал? ;)
А зачем в тапки b707 ссал? ;)
ладно , одно выяснили. Но вопросы не закончились. подключаю RTC DS1302 к arduino Pro mini которую в свою очередь к UNO через RX, TX.
UNO к компуктеру.
вешаю выводы RTC_DS1302,A4,A6,A5); //назначение пинов обмена данными RST, CLK, DAT
и загружаю скетч (он врятли нужен тут но на всякий)
скетч загружается без проблем, но в серийный порт вместо времени идут одни нули 00:00:00 (за то как и положено раз в секунду)
может ли это быть из за того, что на плате UNO нет пина "A6" а на Pro mini я его использую как "CLK"?
A6/A7 - специализированные пины, их трогать запрещается.
A6/A7 - специализированные пины, их трогать запрещается.
понял))))
может ли это быть из за того, что на плате UNO нет пина "A6" а на Pro mini я его использую как "CLK"?
судя по этой фразе, вы точно мыслите не алгоритмами... Вчитайтесь сами - "может ли схема на Про мини не работать из-за того, что на плате Уно нет пина А6" ??
Хотя человеку с ассоциативной гуманитарной логикой все понятно :)
А зачем в тапки b707 ссал? ;)
Аха, щас. Пока, пердуперждение.))))
может ли это быть из за того, что на плате UNO нет пина "A6" а на Pro mini я его использую как "CLK"?
судя по этой фразе, вы точно мыслите не алгоритмами... Вчитайтесь сами - "может ли схема на Про мини не работать из-за того, что на плате Уно нет пина А6" ??
Хотя человеку с ассоциативной гуманитарной логикой все понятно :)
я тоже так подумал, просто последнее время стал сомневаться в своих умозаключениях
Хотя человеку с ассоциативной гуманитарной логикой все понятно :)
Непонятно - комплимент это или наоборот...
Здравствуйте товарищи! залип в книге на системах счисления. пробовал пропустить этот раздел но дальше без его понимания вообще ни чего не понятно.
цифры в тексте книги отображены плохо, (сканер видимо и редактор который переводил отсканированное изображение в текст постарались) по этому кое какие цифры по собственной логике менял. вот оригинал:https://www.litmir.me/BookFileDownloadLink/?id=220715&inline=1 стр.№48.
считаю: 1*64 +2*8+3*1= 64+16+8 = 88
если двойку заменить на семерку как в примере, то получится : 1*64+7*8+3*1=123. но, тогда не понятно откуда
взялась эта 7 и почему ответ 173 а не 123... и вообще, нам же перевести нужно, а значит результат должен отличатся от начального числа
вот. смотрел как переводят с системы в систему в других местах, но те способы от приведенного в книге разительно отличаются.
P.S. помогите кто чем может... пожалуйста
(самое время сказать что я взял не ту книгу и вообще тупой XD)
взялась эта 7 и почему ответ 173 а не 123... и вообще, нам же перевести нужно, а значит результат должен отличатся от начального числа
173 восьмеричное и 123 десятичное - это одно и тоже
цифры получаются так:
123/ 64 =1
(123 % 64) / 8 =7
123 % 8 = 3
итого 173 (восьмеричное)
Ппц , маразм крепчал...
За все время работы с ардуино, НИ РАЗУ мне не понадобились восмеричные числа.
Несколько раз понадобилась хз какая система специально для часов придуманная, даже название не помню.
Но этому то чайнику зачем нужны эти системы счисления ?
ответ прост - для понимания дальнейших примеров приводимых в книге "С++ для чайников"
ответ прост - для понимания дальнейших примеров приводимых в книге "С++ для чайников"
Возьми книгу поновее.
8-ричное счисление уже давно практически повсеместно заменено на 16-ричное.
Вряд ли тебе оно понадобится.
Лучше типы данных разбери от и до.
Имхо это основное, не понимая этого изначально в дальнейшем возникнут неразрешимые трудности
цифры получаются так:
123/ 64 =1
(123 % 64) / 8 =7
123 % 8 = 3
итого 173 (восьмеричное)
я прошу прощения за свой непонятливый разум, а откуда взялось 64?
сори, не отвечайте.. туплю....
это все гребаная лень... так всегда бывает когда сначала спрашиваешь, а потом думаешь...
считаю: 1*64 +2*8+3*1= 64+16+8 = 88
А скажи мне, мил человек - ты всегда применяешь правила сложения/умножения в десятеричной системе к правилам сложения/умножения в другой системе? Я тебе больше скажу: в восьмеричной системе счисления - нет цифры 8, там только цифры [0,7].
К тому же - тут ошибка у тебя, надо не 64+16+8, а 64+16+3.
Вот, для понимания: https://calculatori.ru/perevod-chisel.html Там же есть и другие калькуляторы, для сложения, например. Разъясняют, как так получилось.
Вот, для понимания: https://calculatori.ru/perevod-chisel.html Там же есть и другие калькуляторы, для сложения, например. Разъясняют, как так получилось.
большое спасибо, за Ваше неравнодушие! как раз только что нашел этот же сайт и с его помощью разбераюсь))))
всех с масленицей!
прошу Вас посмотреть код и сделать какие нибудь замечания по поводу использования одной кнопки для двух действий:
P.S. на испытаниях проблем не выявлено.