Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/55: Рейтинг темы: голосов - 55, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 19

Что такое 1L?

24.02.2014, 18:51. Показов 11079. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приходится разбираться в чужом коде.
Сначала была не понятна эта строчка:
C
1
double v = 0L;
Но погуглив, я узнала, что 0L - это некое извращенное приведение нуля к типу long.
Но далее было нечто, непосильное гуглу
C
1
2
3
long i;
unsigned long L=0; // далее L = 0,1,2,...
i = i >> 1L;
У меня сначала пробежала в голове аналогия и я подумала, что это тоже приведение 1 к типу long. Но в коде используется L для изменения величины сдвига... и я не могу понять, что же это за запись? )
Что означает побитовый сдвиг на "1L"???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.02.2014, 18:51
Ответы с готовыми решениями:

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с серверами я ничего не понимаю! что...

Что такое напряжение и что такое сила тока с позиции заряженных частиц
Объясните пожалуйста, что такое напряжение и что такое сила тока с позиции заряженных частиц. Например, имеется проводник в цепи, чем...

9
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
24.02.2014, 21:29
Лучший ответ Сообщение было отмечено Еkaterina как решение

Решение

Тут два варианта: в 1L "лишний" один из символов.
В первом случае 1L можно заменить на 1 (L, как было сказано выше, означаешь лишь тип значения).
Во втором случае, если сдвиг зависит от переменной L, то лишней оказывается 1.
Также запись можно еще с сократить:
C++
1
i >>= 1;
или
C++
1
i >>= L;
P.S.: >> - это побитовый сдвиг вправо, то есть если i = 5 (0x101), то при сдвиге на 1 вправо получаем 2 (0x10).
1
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 19
24.02.2014, 22:39  [ТС]
Спасибо за такой полный ответ, я разобралась!
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
25.02.2014, 00:20
Цитата Сообщение от Еkaterina Посмотреть сообщение
Приходится разбираться в чужом коде.
Хорошая работенка!
Цитата Сообщение от Еkaterina Посмотреть сообщение
double v = 0L;
Тут уже приходится разбираться в чужой голове. Не очень-то здоровой. И для этой разборки необходимо иметь свою совершенно здоровую и знающую голову.
Цитата Сообщение от Еkaterina Посмотреть сообщение
и я не могу понять
Для разборки чужого кода (имхо, то, что вы показали, было сделано неуверенным новичком) необходимо самой знать язык и быть уверенной в своем знании. Тем более, что Си - очень простой язык.
0
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 19
25.02.2014, 01:35  [ТС]
Что же, имея не
Цитата Сообщение от Байт Посмотреть сообщение
совершенно здоровую и знающую голову
я Вам всё же отвечу. Я разбираю чужой код не из любопытства, а по необходимости. Работёнка действительно не из лучших, но опыт накапливается существенный. И ещё, по скольку эта тема - не из Вашего блога, а создана мною лично, то прошу впредь высказываться по существу поставленного вопроса, а своё мнение о моей компетентности оставить при себе. К счастью, я трезво оцениваю собственные знания, и как раз поэтому я здесь.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
25.02.2014, 01:42
Лучший ответ Сообщение было отмечено Еkaterina как решение

Решение

Цитата Сообщение от Еkaterina Посмотреть сообщение
непонятна эта строчка:
Корректно будет:
C++
1
double v = 0.0;
C++
1
2
unsigned long L=0; // далее L = 0,1,2,...
i = i >> 1L;
L в верхней строке и L в нижней строке - совершенно разные вещи. В верхней - переменная, в нижней - модификатор размера (причем, бесполезный). В том виде, как это записано (неграмотно) - это целое деление на 2. Понять, для чего нужна верхняя строчка нельзя, не видя остального кода.

С уверенностью можно только сказать, что написано человеком, едва знакомым с языком C.
1
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
25.02.2014, 02:32
Цитата Сообщение от gazlan Посмотреть сообщение
Корректно будет:
double v = 0.0;
Всегда пишу так:
C++
1
double v = 0.;
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
25.02.2014, 02:52
Цитата Сообщение от gumi250 Посмотреть сообщение
Всегда пишу так
Для компилятора это то же самое, но я предпочитаю более отчетливую декларацию.

"Писать надо не так, чтобы можно было понять, а так, чтобы нельзя было не понять".
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
25.02.2014, 09:06
P.S. Из области домыслов: если долго пользоваться особенно переводчиками, то lL легко может превратиться в 1L. Так, к слову.
0
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 19
25.02.2014, 12:08  [ТС]
Спасибо за ответ! Вы мне помогли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2014, 12:08
Помогаю со студенческими работами здесь

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое монитор и что такое мьютекс? Это же разные вещи?
Здравствуйте. В разных айти-статьях по-разному используют эти термины, причём часто их путают друг с другом. Хотелось бы, чтобы кто-нибудь...

Что такое токен? Что такое сессия? Отличия от куки
Что такое токен и сессии ? в чем отличия от куков ? Безопасно ли использовать куки? можно ли ручками в браузере изменить содержимое...

Объект TDictionary. Что такое ключ и что такое значение?
Из прочитанного в гугле понял что это нечто наподобие какого-то словаря: Коллекция пар ключ-значение. и что работать будет только на...

Что такое хэндлер файла? Что такое файловый указатель?
Что такое хэндлер файла? Что такое файловый указатель?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru