Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [3] 4 5 6 7   Вниз
  Печать  
Автор Тема: Самое длинное и короткое слово  (Прочитано 154389 раз)
0 Пользователей и 12 Гостей смотрят эту тему.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #60 : 25-12-2009 07:57 » 

Dana,
-6?
А ты знаешь где хранится знак числа?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #61 : 25-12-2009 08:07 » 

допустим число 6
110, если побитово 00000110
-6
110, если побитово 11111010 -это доп код, так как кажется в двоичной системе нет знаков
« Последнее редактирование: 25-12-2009 08:09 от Dana » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #62 : 25-12-2009 08:11 » 

Кстати, в исходном задании про ввод числа с клавиатуры/из файла ничего не было. Так-что возможно можно ограничится просто переводом некоего заданного раннее значения в двоичное представление. Например, следующий алгоритм:
1. установить счётчик повторений равный 8;
2. проверить старший - 7-ой бит переменной, если он 0 - вывести символ '0', иначе 1;
3. сдвинуть переменную на один разряд влево;
4. декрементировать счётчик на 1;
5. если значение счётчика равно 0, то завершить выполнение, в противном случае перейти к шагу 2.
Записан
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #63 : 25-12-2009 08:16 » 

Для начинающего установить счетчик, как первый раз встать на ноги.
5 пункт не совсем понятно
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #64 : 25-12-2009 08:19 » 

Счётчик - это специальная переменная, в принципе может иметь любое имя например i или counter, . Если Вы изучаете, язык C, думаю, будет понятна следующая запись:
Код:
counter = 8;
Могу весь алгоритм привести в виде реализации на языке С, если в этом есть необходимость.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #65 : 25-12-2009 08:20 » 

тут удобнее применить однобитовую маску - меньше движений Улыбаюсь
Записан

darkelf
Молодой специалист

ua
Offline Offline

« Ответ #66 : 25-12-2009 08:23 » 

тут удобнее применить однобитовую маску - меньше движений Улыбаюсь
это дело вкуса, имхо. в любом случае будут сдвиги и декременты счётчиков и циклы.
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #67 : 25-12-2009 08:23 » 

Цитата
однобайтового числа типа char.
-6 = 2 char'а
Записан

С уважением, Oldy.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #68 : 25-12-2009 08:27 » 

Oldy,  ая всегда считал что char - [-127,127]
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #69 : 25-12-2009 08:27 » 

Цитата
однобайтового числа типа char.
-6 = 2 char'а
тогда уж три, т.к. если это C-шная строка, то там должен быть ещё 0-вой символ. т.е. '-', '6', '\0'
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #70 : 25-12-2009 08:28 » 

ну после парса он превратится в ((char)-0x06) Улыбаюсь
Записан

Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #71 : 25-12-2009 08:30 » 

И какой символ имеет код -126 например?
Записан

С уважением, Oldy.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #72 : 25-12-2009 08:34 » 

мне надо сделать по однобитовой маске пока, но со счетчиком тоже интересно.
Получается что если у меня отрицательное число (-6), то оно уже не однобитовое?
« Последнее редактирование: 25-12-2009 08:36 от Dana » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #73 : 25-12-2009 08:37 » 

Я исходил из условий
Цитата
Вывести на экран двоичный код однобайтового числа типа char.
надо сказать, что получилось масло масляное.

Наверное, должно быть

Вывести на экран двоичный код числа типа char.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #74 : 25-12-2009 08:38 » 

мне надо сделать по однобитовой маске пока, но со счетчиком тоже интересно.
Получается что если у меня отрицательное число (-6), то оно уже не однобитовое?
Ты хотела сказать НЕ ОДНОБАЙТОВОЕ
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #75 : 25-12-2009 08:40 » new

Да, так как происходит переполнение
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #76 : 25-12-2009 08:40 » 

допустим число 6
110, если побитово 00000110
-6
110, если побитово 11111010 -это доп код, так как кажется в двоичной системе нет знаков
так я здесь правильно размышляла или нет?
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #77 : 25-12-2009 08:42 » 

И какой символ имеет код -126 например?
в ascii нет такого символа, а так код будет 0x82 - смотря, из какой таблицы (не знаю, какие они там ещё)
Записан

Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #78 : 25-12-2009 08:56 » 

для хранения отрицательных чисел существует два метода
1's complement
и
2's complement

Знаковые обратные двоичные коды или 1's complement

Отрицательные числа в них получаются инвертированием всех разрядов числа.

Знаковые дополнительные двоичные коды или 2's complement.

Отрицательные числа в них получаются инвертированием всех разрядов числа, а потом прибавляется 1.

Кстати,
char [-128..127]

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #79 : 25-12-2009 09:02 » 

мне бы хоть с положительными разобраться
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #80 : 25-12-2009 09:06 » 

мне бы хоть с положительными разобраться
в данном задании, как мне кажется, это не важно, и положительное и отрицательное число имеют одно и тоже количество битов представления - в случае char - 8.
Записан
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #81 : 25-12-2009 09:11 » 

реализация алгоритма на С, сначала просто переводим с русского на С-шный:

Удален модератором Улыбаюсь

в общем что-то подобное этому.
« Последнее редактирование: 25-12-2009 09:16 от Sla » Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #82 : 25-12-2009 09:28 » 

Dana, давай начинай с формализованного алгоритма.

Пример, я тебе показывал.
Ты рассказываешь бабушке/дедушке, ничего не понимающим в компьютерах, что ты будешь делать.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #83 : 25-12-2009 09:55 » 

1.Ввести число
1. Считать симовл с клавиатуры
2. посмотрю какое число: отрицательное, или положительное, если отрицательное, то возьму число по модулю в двоичной сичтеме, потом если у меня 1 то ее меняю на 0, если 0 то на единицу к получившемуся значению прибавляю 1, получаю число.
если положительное то оставляю как есть и формирую маску.

как формировать маску не понятно
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #84 : 25-12-2009 10:00 » 

Маска это тоже число, возможно даже константа. Формировать её нужно исходя из того, какие биты из заданного числа Вам необходимо получить.
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #85 : 25-12-2009 10:01 » 

Dana, не понятно.
Дедушка не понял.
Если он еще может понять/вспомнить двоичный/десятичный код, то такие слова как взять по модулю, для него это будет ужасТно.

Начни сначала Улыбаюсь
Напомню! Тебе нужен неформализованный алгоритм.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #86 : 25-12-2009 10:05 » 

Dana, вот прочти
http://www.refal.net/turchin/phenomenon/chapter12.htm
тебе будет достаточно 12.1
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #87 : 28-12-2009 04:46 » 

Доброе утро!

1.Ввести число
1. Считать симовл с клавиатуры
2. посмотрю какое число: отрицательное, или положительное, если отрицательное, то возьму число это число только положительное в двоичной системе, потом все единицы числа меняю на 0, а 0 на единицы. После замены к получившемуся значению прибавляю 1, получаю число для которого надо сформировать маску.
Если же число положительное то ничего не меняю и формирую для числа маску.

как формировать маску не понятно

Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #88 : 28-12-2009 05:27 » 

#include <stdio.h>
#include <stdlib.h>

int main()
{
int i;
char n;
printf("Vvedite chislo: ");
scanf("%i",&n);
for (i=7; i>=0; i--);
if char n = 1 << 7; - что-то не то?
return 0;

}
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #89 : 28-12-2009 06:13 » 

Dana, а компилятор что на программу говорит?
Записан
Страниц: 1 2 [3] 4 5 6 7   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines