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

типы данных - C++

Восстановить пароль Регистрация
 
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
28.05.2012, 17:09     типы данных #1
уважаемые программисты, как отвести типу char 2 байта? пишу шахматы, 6 фигур, хочу, чтобы каждый бит отводился для определенной фигуры, + бит на цвет, + бит на "выделена ли", + бит на цвет клетки доски. то есть 1 байта не хватает. или может предложите другой вариант? дело в том, что в программе будут содержаться функции, которые будут определять путем сравнения битов, что именно содержится в клетке массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2012, 17:09     типы данных
Посмотрите здесь:

C++ типы данных
Типы данных C++
типы данных C++
Типы Данных C++
Типы данных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,215
Завершенные тесты: 1
28.05.2012, 17:36     типы данных #2
1. Можно использовать Unicode: wchar.
2. В принципе, вместо char можно написать short, который занимает как раз 2 байта.
3. А лучше написать структуру и задать в ней каждый из битов:
C++
1
2
3
4
5
6
7
struct chess
{
    unsigned color:1;
    unsigned select:1;
    unsigned figura1:1;
   .....
};
Avazart
 Аватар для Avazart
6911 / 5151 / 254
Регистрация: 10.12.2010
Сообщений: 22,660
Записей в блоге: 17
28.05.2012, 17:47     типы данных #3
zss,Ну тогда уже
C++
1
2
3
4
5
6
7
struct chess
{
   bool color;
   bool select;
   bool figura;
   .....
};
уважаемые программисты, как отвести типу char 2 байта?
Почему просто int-том не обойтись ?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
28.05.2012, 17:58     типы данных #4
Переносимо:
C++
1
2
3
#include <cstdint>
//...
std::int16_t var;
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,215
Завершенные тесты: 1
28.05.2012, 19:23     типы данных #5
Цитата Сообщение от Avazart Посмотреть сообщение
Ну тогда уже
C++
1
2
3
4
5
6
7
struct chess
{
 bool color;
 bool select;
 bool figura;
 .....
};
Каждый из этих bool будет занимать слово целиком.
Avazart
 Аватар для Avazart
6911 / 5151 / 254
Регистрация: 10.12.2010
Сообщений: 22,660
Записей в блоге: 17
28.05.2012, 19:31     типы данных #6
Каждый из этих bool будет занимать слово целиком.
байт, вместо 4-x
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,215
Завершенные тесты: 1
28.05.2012, 22:25     типы данных #7
C++
1
    cout << sizeof(chess) << endl;
для
C++
1
2
3
4
5
6
struct chess
{
    bool color;
    bool  select;
    bool  figura;
};
выдает 3, а для
C++
1
2
3
4
5
6
struct chess
{
    char color:1;
    char  select:1;
    char  figura:1;
};
выдает 1
Avazart
 Аватар для Avazart
6911 / 5151 / 254
Регистрация: 10.12.2010
Сообщений: 22,660
Записей в блоге: 17
28.05.2012, 22:35     типы данных #8
А что означает запись ":1" ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2012, 23:26     типы данных
Еще ссылки по теме:

Типы данных C++
Типы данных: есть ли универсальный тип, который может заменить все типы данных в Си? C++
C++ Типы данных

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
28.05.2012, 23:26     типы данных #9
Цитата Сообщение от Avazart Посмотреть сообщение
А что означает запись ":1" ?
1 бит.
Yandex
Объявления
28.05.2012, 23:26     типы данных
Ответ Создать тему
Опции темы

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