Форум программистов, компьютерный форум CyberForum.ru

дайте наводку, программисты и математики, как делать задачу подобного типа - C++

Восстановить пароль Регистрация
 
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249
01.10.2011, 23:11     дайте наводку, программисты и математики, как делать задачу подобного типа #1
Условие задачи:
Найти максимальное значение, которое может быть представлено при использовании типа unsigned char


P.S.: Нужно написать соответствующую программу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2011, 23:11     дайте наводку, программисты и математики, как делать задачу подобного типа
Посмотрите здесь:

Как программисты так красиво форматируют комментарии? C++
Доделать задачу. Для данного вещественного x найти значение следующей функции f, принимающей значения целого типа C++
Интерпретатор/компилятор ассемблер-подобного языка C++
CUDA: Как учитывать ограничение в памяти видухи? Дайте совет по идеологии вычислений! C++
Дайте задачу новичку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.10.2011, 23:31     дайте наводку, программисты и математики, как делать задачу подобного типа #2
Уже обсуждалось. Клик.
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249
02.10.2011, 00:35  [ТС]     дайте наводку, программисты и математики, как делать задачу подобного типа #3
Цитата Сообщение от soon Посмотреть сообщение
Уже обсуждалось. Клик.
спасибо большое
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
02.10.2011, 01:28     дайте наводку, программисты и математики, как делать задачу подобного типа #4
soon, вопрос то в том как его найти
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(){
    unsigned char x = 0;
    x |= 1;             //младший бит = 1
    printf("%d\n", x);  
    x = (x << 1) | x;   //2 младших бита = 1
    printf("%d\n", x);
    x = (x << 2) | x;   //4 младших бита = 1
    printf("%d\n", x);
    x = (x << 4) | x;   //все биты байта = 1
    printf("%d\n", x);
    return 0;
}
или так
C
1
2
3
4
5
6
7
#include <stdio.h>
 
int main(){
    unsigned char x = 0;
    printf("%d\n", (unsigned char)~x);
    return 0;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.10.2011, 07:01     дайте наводку, программисты и математики, как делать задачу подобного типа #5
Угу. А теперь объясняйте ТС-у, что такое побитовые операции и почему использовать их предпочтительнее, чем подключать limits.h.
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249
02.10.2011, 10:43  [ТС]     дайте наводку, программисты и математики, как делать задачу подобного типа #6
Цитата Сообщение от alkagolik Посмотреть сообщение
soon, вопрос то в том как его найти
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(){
    unsigned char x = 0;
    x |= 1;             //младший бит = 1
    printf("%d\n", x);  
    x = (x << 1) | x;   //2 младших бита = 1
    printf("%d\n", x);
    x = (x << 2) | x;   //4 младших бита = 1
    printf("%d\n", x);
    x = (x << 4) | x;   //все биты байта = 1
    printf("%d\n", x);
    return 0;
}
или так
C
1
2
3
4
5
6
7
#include <stdio.h>
 
int main(){
    unsigned char x = 0;
    printf("%d\n", (unsigned char)~x);
    return 0;
}
вот это то, что надо, в принципе. потому что limits.h мы еще не проходили на занятиях
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
02.10.2011, 13:32     дайте наводку, программисты и математики, как делать задачу подобного типа #7
Цитата Сообщение от Kirill Losev Посмотреть сообщение
вот это то, что надо, в принципе. потому что limits.h мы еще не проходили на занятиях
а вы расскажите на занятиях и про заголовок limits.h, и про побитовые операции, если вы конечно понимаете что именно происходит с переменными. Вы же должны были проходить булеву алгебру, арифметические основы ВТ. Если багаж знаний содержит в себе такие понятия как прямой\инверсный\дополнительный код, булевы функции, тогда вперед. Если нет, то неплохой повод подучить и удивить преподавателя, заработав себе зачетный бонус
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
02.10.2011, 15:30     дайте наводку, программисты и математики, как делать задачу подобного типа #8
Цитата Сообщение от Kirill Losev Посмотреть сообщение
потому что limits.h мы еще не проходили на занятиях
А вы не ждите, сами интересуйтесь, чего там проходить то
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249
02.10.2011, 16:55  [ТС]     дайте наводку, программисты и математики, как делать задачу подобного типа #9
спасибо за советы, буду изучать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2011, 18:59     дайте наводку, программисты и математики, как делать задачу подобного типа
Еще ссылки по теме:

C++ Дайте денормализованное число типа double
C++ Как можно подробнее напишите, что из математики нужно программисту
C++ Написать программу, которая решает задачу с применением подпрограммы типа function

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

Или воспользуйтесь поиском по форуму:
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
02.10.2011, 18:59     дайте наводку, программисты и математики, как делать задачу подобного типа #10
ну если побитовые не понимаете то
int k=2;
for(int i=2;i<=8;плюс плюс) // на клаве прото плюсик не работает
k=k*k;

Добавлено через 1 минуту
x=x <<1;
x= 00000001
сдвиг то есть <<
x= 00000010
Yandex
Объявления
02.10.2011, 18:59     дайте наводку, программисты и математики, как делать задачу подобного типа
Ответ Создать тему
Опции темы

Текущее время: 20:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru