| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Получение битов числа |
| Автор: Idsa 9.3.2007, 21:20 |
| Коллекция BitArray позволяет хранить биты числа. Однако в BitArray нет функционала для получения битов из числа. Меня интересует, есть ли красивый способ получения битов числа, или придется реализовывать смещениями и масками? |
| Автор: Void 9.3.2007, 21:32 | ||||
| System.Collections.Specialized.BitVector32 Или с тем же BitArray:
Только не сказал бы что так красивее. Если хочется, можно написать функцию в одну строчку:
|
| Автор: Idsa 9.3.2007, 22:30 |
| И BitVector32, и BitArray в моем случае подходят только для int. Ну что ж, придется пользоваться старым дедовским способом |
| Автор: Idsa 10.3.2007, 00:19 |
| Мне нужно получить биты для переменной типа float. Делаю вот так: float number = 3.1; (number >> i) & 1. Выдает ошибку "Error 1 Operator '>>' cannot be applied to operands of type 'float' and 'int' C:\Documents and Settings\Idsa\Мои документы\Visual Studio 2005\Projects\LabySaod\Laba1\Program.cs 22 20 Laba1 ". Т. е. оператор >> не определен для float. Что делать? |
| Автор: nikitao 10.3.2007, 00:46 | ||
Да. Не определен. Забавно , но именно эту задачу меня спрашивали как решить, но тока на Паскале. ( там соответственно тип real ) .
Думаю это то , что нужно ;) |
| Автор: Idsa 10.3.2007, 04:02 |
| nikitao, +1. Метод действительно оказался очень полезным. |